Jquery选择器
一、web站点基本构成
Web前段主要由三部分构成:即以HTML、CSS、javascript,jQuery为构建在原生javascript上的一个库,可以把库当做是一种框架或者蓝图指导构建web站点一套规则或指南。
HTML是web站点中得骨头,CSS便是骨头之上的皮肉,那么javascript则是外衣,JQuery更好的外衣。
二、深刻理解DOM
什么是DOM?
DOM= Document Object Model,文档对象模型,DOM可以以一种独立于平台和语言的方式访问和修改一个文档的内容和结构。-----百度文库
DOM实际上是以面向对象方式描述的文档模型。DOM定义了表示和修改文档所需的对象、这些对象的行为和属性以及这些对象之间的关系。可以把DOM认为是页面上数据和结构的一个树形表示,不过页面当然可能并不是以这种树的方式具体实现,按照实例需要进行不同功能组合。
通过 JavaScript,您可以重构整个 HTML文档。您可以添加、移除、改变或重排页面上的项目。由于我们的修改层次不是最底层,就需要我们有一个入口来对其进行修改等操作。Javascript是脚本语言。与HTML不是一家子的,要进去就要有入口,DOM就是他们的家。
要改变页面的某个东西,JavaScript就需要获得对 HTML文档中所有元素进行访问的入口。这个入口,连同对 HTML元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM)。
三、什么是面向对象的方法?
面向对象:包含的概念词有(类,属性,功能)可以理解成一个人类便是一个类,人类中有属性和功能,举例说属性便是人类中共同具有的一些属性,如:人类都有名字,肤色,语言单属性不一定相同,除了属性之外还有就是功能,比如人类共有的功能有吃饭,睡觉,求偶等,类中的属性和功能必须是类中共有的,把类实例化,相当于把一个类比作是一个更具体的对象,这个对象来完成一件具体的工作,一个类中可以实例化许多对象,来完成不同的功能。在JQuery中的应用是把HTML中的实体具象化如DOM便是一个类其中包含了许多属性和功能,在一条语句中使用了一些属性和功能,为了选取他们就需要把他们实例化才能更好的操作。Ex:$(‘div’).css(‘1px#ccc’);
面向对象方法的四个基本特征:
1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。比如,我们要设计一个学生成绩管理系统,考察学生这个对象时,我们只关心他的班级、学号、成绩等,而不用去关心他的身高、体重这些信息。抽象包括两个方面,一是过程抽象,二是数据抽象。过程抽象是指任何一个明确定义功能的操作都可被使用者看作单个的实体看待,尽管这个操作实际上可能由一系列更低级的操作来完成。数据抽象定义了数据类型和施加于该类型对象上的操作,并限定了对象的值只能通过使用这些操作修改和观察。 2.继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。这也体现了大自然中一般与特殊的关系。继承性很好的解决了软件的可重用性问题。比如说,所有的Windows应用程序都有一个窗口,它们可以看作都是从一个窗口类派生出来的。但是有的应用程序用于文字处理,有的应用程序用于绘图,这是由于派生出了不同的子类,各个子类添加了不同的特性。 3.封装: 封装是面向对象的特征之一,是对象和类概念的主要特性。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。一旦定义了一个对象的特性,则有必要决定这些特性的可见性,即哪些特性对外部世界是可见的,哪些特性用于表示内部状态。在这个阶段定义对象的接口。通常,应禁止直接访问一个对象的实际表示,而应通过操作接口访问对象,这称为信息隐藏。事实上,信息隐藏是用户对封装性的认识,封装则为信息隐藏提供支持。封装保证了模块具有较好的独立性,使得程序维护修改较为容易。对应用程序的修改仅限于类的内部,因而可以将应用程序修改带来的影响减少到最低限度。 4. 多态性: 多态性是指允许不同类的对象对同一消息作出响应。比如同样的加法,把两个时间加在一起和把两个整数加在一起肯定完全不同。又比如,同样的选择编辑-粘贴操作,在字处理程序和绘图程序中有不同的效果。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。