1、jQuery最重要的就是jQuery对象,jQuery的所有方法都定义在这个对象上边。
2、jQuery对象本质上就是一个构造函数,主要作用就是返回jQuery对象的实例,因为只有这样,才能在DOM上使用jQuery提供的各种方法。
3、jQuery构造函数可以有很多种参数,返回不同的值(都是jQuery实例)。
a、css选择器作为参数
b、dom对象作为参数,他也会被转为jQuery对象的实例。
*)如果要把多个dom对象转换为jquery对象实例,可以用一个数组作
为参数。$([document.body, document.head])
- init(2) [body, head]
a. 0:body
b. 1:head
c. length:2
d. proto:Object(0)
c、html字符串作为参数,返回jQuery对象的实例。
写法:$('<li class="greet">test</li>')
$( '<li>', {
html: 'test',
'class': 'greet'
});
由于新增的DOM节点不属于当前的文档,可以使用预先加载图片。
$.preloadImages = function () {
for (var i = 0; i < arguments.length; i++) {
$('<img>').attr('src', arguments[i]);
}
};
$.preloadImages('img/hover-on.png', 'img/hover-off.png');
4、jQuery构造函数的第二个参数,默认情况下jQuery将根元素html作为寻找匹配对象的起点,如果要指定起点,可以放在第二个函数。
$('li', someElement);
上面代码表示,只寻找属于someElement对象下属的li元素。someElement可以是jQuery对象的
实例,也可以是DOM对象。
5、不管有没有选中元素,jquery构造函数总是返回一个实例对象,而对象的布尔值是true。
6、jQuery对象返回的结果集是一个类似数组的对象。
7、jQuery选择器返回的是一个类似数组的对象。但是,使用下标运算符和get取出的单个对象,并不是jQuery对象的实例,而是一个DOM对象。
8、jQuery默认对当前结果集进行循环处理,所以如果直接使用jQuery内置的某种方法,each和map方法是不必要的。
9、由于内置循环的存在,从性能考虑,应该尽量减少不必要的操作步骤。
$(".class").css("color", "green").css("font-size", "16px");
应该写成
$(".class").css({
"color": "green",
"font-size": "16px"
});
10、$.noConflict方法允许将美元符号与jQuery脱钩。
11、preventDefault:取消浏览器默认行为。
● stopPropagation:阻止事件向上层元素传播。