首页 / JQUERY / jQuery学习笔记
jQuery学习笔记
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了jQuery学习笔记,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3021字,纯文字阅读大概需要5分钟。
内容图文
2016.05.09
- 幂等 (idempotent、idempotence)是一个数学或计算机学概念,常见于抽象代数中。 幂等有以下几种定义:
- MVC:MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。
- jQuery
DOM对象
,这个很简单,它定义了访问HTML文档对象的一套属性、方法和事件,没有JQuery前,我们通常直接操作DOM,比较熟悉
的API有getElementById
、GetElementByTagName
等。
JQuery
,它在JQuery中有个别名 $
。通过上面章节的模拟代码(对应模拟代码中的JQuery)可知,其实就是一个函数,说得更细致点就是
JQuery对象的工厂方法,它可以根据不同的入参来构造JQuery对象,如:
-
-
字符串表达式。如
$(‘span‘) 、$(‘span .class‘)、$(‘#id‘)
等
-
HTML 代码片段。如
$(‘<span>text</span>‘)
等
-
DOM元素。 如$(dom) //假设
var dom = document.getElementById(‘id‘);
-
JS Function 。 如
$(function(...) { ... } );
一般对象或数组。如{ }
、[ ... ]
等
-
字符串表达式。如
JQuery对象
,非常重要的一个概念,类似于模拟代码中的JClass实例,通常是通过JQuery构造出的实例。在JQuery中,我们常常见到
$(‘#id‘) 、$(‘div‘)
等。关于JQuery对象我们要明白以下几点:
-
-
JQuery对象
继承了JQuery原型
(prototype
)的所有属性和方法
-
JQuery对象不是数组,但是采用了类似数组的结构来存储元素,而且存储的元素是通过选择器获取得到的DOM对象。参照上面章节的模拟代码(
JClass
实例对象),JQuery对象有个length
属性,表示当前对象里存储DOM对象的个数,而这些通过选择获得的DOM对象,是采用下标为0、1、2、3 ...
作为属性名来进行存储的。
-
JQuery
、JQuery对象
、DOM对象
三者之间的关系是:
JQuery
是个工厂方法,用来构造JQuery对象
; JQuery对象是个类数组对象,里面存储了DOM对象
;
-
.insertAfter()和.after():在现存元素的外部,从后面插入元素
.insertBefore()和.before():在现存元素的外部,从前面插入元素
.appendTo()和.append():在现存元素的内部,从后面插入元素
.prependTo()和.prepend():在现存元素的内部,从前面插入元素
- 删除元素使用.remove()和.detach()。两者的区别在于,前者不保留被删除元素的事件,后者保留,有利于重新插入文档时使用
- jQuery设计思想
-
- jQuery的基本设计思想和主要用法,就是"选择某个网页元素,然后对其进行某种操作";
- 提供各种强大的过滤器,对结果集进行筛选,缩小选择结果;
- 就是最终选中网页元素以后,可以对它进行一系列操作,并且所有操作可以连接在一起,以链条的形式写出来;
- 就是使用同一个函数,来完成取值(getter)和赋值(setter),即"取值器"与"赋值器"合一。到底是取值还是赋值,由函数的参数决定;
- 提供两组方法,来操作元素在网页中的位置移动。一组方法是直接移动该元素,另一组方法是移动其他元素,使得目标元素达到我们想要的位置;
- 除了对选中的元素进行操作以外,还提供一些与元素无关的工具方法(utility)。不必选中元素,就可以直接使用这些方法;
- 把事件直接绑定在网页元素之上;
- 选择器性能对比:
-
- 最快的选择器:id选择器和元素标签选择器: $(‘#id‘)、 $(‘form‘)、 $(‘input‘)
- 较慢的选择器:class选择器( Firefox、Safari、Chrome、Opera浏览器,都有原生方法getElementByClassName(),所以速度并不慢。但是,IE5-IE8都没有部署这个方法,所以这个选择器在IE中会相当慢。)
- 最慢的选择器:伪类选择器和属性选择器
- 父元素中选择子元素的速度排名:
-
- $parent.find(‘.child‘): .find()方法会调用浏览器的原生方法(getElementById,getElementByName,getElementByTagName等等),所以速度较快;
- $(‘.child‘, $parent): 这条语句的意思是,给定一个DOM对象,然后从中选择一个子元素。jQuery会自动把这条语句转成$.parent.find(‘child‘),这会导致一定的性能损失。它比最快的形式慢了5%-10%;
- $(‘.child‘, $(‘#parent‘)): jQuery内部会将这条语句转成$(‘#parent‘).find(‘.child‘),比最快的形式慢了23%。
- $parent.children(‘.child‘): 这条语句在jQuery内部,会使用$.sibling()和javascript的nextSibling()方法,一个个遍历节点。它比最快的形式大约慢50%;
- $(‘#parent > .child‘): jQuery内部使用Sizzle引擎,处理各种选择器。Sizzle引擎的选择顺序是从右到左,所以这条语句是先选.child,然后再一个个过滤出父元素#parent,这导致它比最快的形式大约慢70%;
- $(‘#parent .child‘): 这一条可以于选择多级子元素,所以它的速度更慢,大概比最快的形式慢了77%;
- 事件的委托处理(Event Delegation): javascript的事件模型,采用"冒泡"模式,也就是说,子元素的事件会逐级向上"冒泡",成为父元素的事件。
原文:http://blog.csdn.net/qq_33756795/article/details/51351340
内容总结
以上是互联网集市为您收集整理的jQuery学习笔记全部内容,希望文章能够帮你解决jQuery学习笔记所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。