jQuery是一个优秀的、轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF1.5+, Safari 2.0+, Opera 9.0+),而jQuery2.0及后续版本将不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用)、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。
1、jQuery入口函数与Js入口函数的区别
【注】js入口函数指的是:window.onload = function(){};
区别一:书写个数不同
Js入口函数只能出现一次,出现多次会存在事件覆盖的问题。
jQuery的入口函数,可以出现任意多次,并不会存在事件覆盖问题。
区别二:执行时机不同
Js入口函数是在所有的文件资源加载完成后,才执行。这些文件资源包括:页面文档、外部的js文件、外部的css文件、图片等。
jQuery的入口函数,是在文档加载完成后,就执行。文档加载完成指的是:DOM树加载完成后,就可以操作DOM了,不用等到所有的外部资源都加载完成。
文档加载的顺序:从上往下,边解析边执行。
2、jQuery对象和DOM对象的相互转换
①DOM对象此处指的是:使用js操作DOM返回的结果
1
|
var
btn = document.getElementById(“btnShow”);
// btn就是一个DOM对象
|
②jQuery对象此处指的是:使用jQuery提供的操作DOM的方法返回的结果
1
|
var
$btn = $(“
#btnShow”); // $btn就是一个jQuery对象
|
③DOM对象转换成jQuery对象
1
2
3
|
var
$btn1 = $(btn);
// 此时就把DOM对象btn转换成了jQuery对象$btn1
// $(document).ready(function(){}); // 调用入口函数
// 此处是将document这个js的DOM对象,转换成了jQuery对象,然后才能调用jQuery提供的方法:ready
|
④jQuery对象转换成DOM对象
1
2
3
4
|
// 第一种方式
var
btn1 = $btn[0];
// 此时就把jQuery对象$btn转换成了DOM对象btn1 (推荐使用此方式)
// 第二种方式
var
btn2 = $btn.get(0);
// 此时就把jQuery对象$btn转换成了DOM对象btn2
|
3、jQuery选择器
符号(名称) | 说明 | 用法 |
基本选择器(重点) | ||
# | ID选择器 | $(“#btnShow”).css(“color”, “red”); 选择id为btnShow的一个元素(返回值为jQuery对象,下同) |
. | 类选择器 | $(“.liItem”).css(“color”, “red”); 选择含有类liItem的所有元素 |
element | 标签选择器 | $(“li”).css(“color”, “red”); 选择标签名为li的所有元素 |
层级选择器 | ||
空格 | 后代选择器 | $(“#j_wrap li”).css(“color”, “red”); 选择id为j_wrap的元素的所有后代元素li |
> | 子代选择器 | $(“#j_wrap > ul > li”).css(“color”, “red”); 选择id为j_wrap的元素的所有子元素ul的所有子元素li |
基本过滤选择器 | ||
:eq(index) | 选择匹配到的元素中索引号为index的一个元素,index从0开始 | $(“li:eq(2)”).css(“color”, ”red”); 选择li元素中索引号为2的一个元素 |
:odd | 选择匹配到的元素中索引号为奇数的所有元素,index从0开始 | $(“li:odd”).css(“color”, “red”); 选择li元素中索引号为奇数的所有元素 |
:even | 选择匹配到的元素中索引号为偶数的所有元素,index从0开始 | $(“li:odd”).css(“color”, “red”); 选择li元素中索引号为偶数的所有元素 |
筛选选择器(方法) (重点) | ||
find(selector) | 查找指定元素的所有后代元素(子子孙孙) | $(“#j_wrap”).find(“li”).css(“color”, “red”); 选择id为j_wrap的所有后代元素li |
children() | 查找指定元素的直接子元素(亲儿子元素) | $(“#j_wrap”).children(“ul”).css(“color”,“red”); 选择id为j_wrap的所有子代元素ul |
siblings() | 查找所有兄弟元素(不包括自己) | $(“#j_liItem”).siblings().css(“color”, “red”); 选择id为j_liItem的所有兄弟元素 |
parent() | 查找父元素(亲的) | $(“#j_liItem”).parent(“ul”).css(“color”,“red”); 选择id为j_liItem的父元素 |
eq(index) | 查找指定元素的第index个元素,index是索引号,从0开始 | $(“li”).eq(2).css(“color”, “red”); 选择所有li元素中的第二个 |
1. 事件绑定
$("button").bind("click", function() {
alert("ok");
})
$("button").bind("click mouseover", function() { //可以同时绑定多个事件
alert("ok");
})
$("button").bind({
mouseover: function() {
alert("mouseover");
},
mouseout: function() {
alert("mouseout");
}
});
2. 事件删除
$("button").unbind(); //删除所有绑定事件
$("button").unbind("click"); //删除click事件
$("button").unbind("click", fn1); //删除click事件处理函数fn1
3. 简写事件
$("button").click(function() {
alert("click");
});
$(window).unload(function() {
alert("unload"); //页面卸载事件, IE浏览器支持,其他浏览器不支持
})
$(window).resize(function () {
alert("resize"); //窗口大小改变事件
});
$(window).scroll(function () {
alert("scroll"); /滚动条拖动事件
});
alert("select"); //文本选定事件
})
$("input").change(function () {
alert("change"); //文本改变事件
});
$("input").change(function () {
alert("change"); //文本改变事件
});
$("input").change(function () {
alert("change"); //文本改变事件
});
$("form").submit(function () {
alert("submit"); //表单提交事件
});