1.初识jQuery
实现隔行变色效果,只需一句关键代码
$("tr:even").css("background-color","#e8f0f2");
1.1jQuery能做什么
访问和操作DOM元素
控制页面样式
对页面事件进行处理
扩展新的jQuery插件
与Ajax技术完美结合
1.2jQuery的优势
体积小,压缩后只有100KB左右
强大的选择器
出色的DOM封装
可靠的事件处理机制
出色的浏览器兼容性
使用隐式迭代简化编程
丰富的插件支持
1.3获取jQuery
进入jQuery官网:http://jquery.com
点击下载
jQuery库文件
jQuery库分开发版和发布版
名称 | 大小 | 说 明 |
---|---|---|
jquery-3.版本号.js(开发版) | 约286KB | 完整无压缩版本,主要用于测试、学习和开发 |
jquery-3.版本号.min.js(发布版) | 约94.8KB | 经过工具压缩或经过服务器开启Gzip压缩,主要应用于发布的产品和项目 |
<script src="js/jquery-3.3.1.min.js" type="text/javascript"></script>
1.4jQuery基本语法
使用jQuery弹出提示框
<script>
$(document).ready(function() { //为页面加载事件绑定方法
alert("我欲奔赴沙场征战jQuery,势必攻克之!");
});
</script>
$(document).ready()
$(document).ready()与window.onload类似,但也有区别
window.onload | $(document).ready() | |
---|---|---|
执行时机 | 必须等待网页中所有的内容加载完毕后(包括图片、flash、视频等)才能执行 | 网页中所有DOM文档结构绘制完毕后即刻执行,可能与DOM元素关联的内容(图片、flash、视频等)并没有加载完 |
编写个数 | 同一页面不能同时编写多个 | 同一页面能同时编写多个 |
简化写法 | 无 | $(function(){ //执行代码}) ; |
2.jQuery选择器
jQuery 语法
jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作
基础语法是:$(selector).action()
jQuery基本选择器
基本选择器包括标签选择器、类选择器、ID选择器、并集选择器和全局选择器
标签选择器
标签选择器根据给定的标签名匹配元素
$(document).ready(function(){
$("dt").click(function(){
$("dd").css("display","block");//设置<dd>标签中的内容显示出来
});
$("h1").css("color","blue");//设置<h1>标签中的字体颜色为蓝色
})
类选择器
类选择器根据给定的class匹配元素
$(".price").css({"background":"#efefef","padding":"5px"});
//设置class为price元素的背景颜色和内边距
ID选择器
ID选择器根据给定的id匹配元素
$("#author").css("color","#083499");
//设置id为author的元素的字体颜色
并集选择器
并集选择器用来合并元素集合
$(".intro,dt,dd").css("color","#ff0000");
全局选择器
全局选择器可以获取所有元素
$("*").css("font-weight","bold");
//设置所有元素的字体加粗显示
3.jQuery层次选择器
层次选择器通过DOM 元素之间的层次关系来获取元素
后代选择器
后代选择器用来获取元素的后代元素
$(".textRight p").css("color","red");
//设置class为textRight元素中的所有<p>标签的字体全部为红色
子选择器
子选择器用来获取元素的子元素
$(".textRight>p").css("color","red");
相邻选择器
相邻选择器用来选取紧邻目标元素的下一个元素
$("h1+p").css(text-decoration","underline");
同辈选择器
同辈选择器用来选取目标元素之后的所有同辈元素
$("h1~p").css("text-decoration","underline");
4.jQuery属性选择器
属性选择器通过HTML元素的属性来选择元素
4.1根据属性名获取元素
属性选择器可以根据是否包含某属性来选取元素
a标签带有class属性
$("#news a[class]").css("background","#c9cbcb");
4.2根据属性值获取元素
属性选择器可以根据属性的值来选取元素
class属性值为hot
$("#news a[class='hot']").css("background","#c9cbcb");
属性选择器可以指定选取不等于属性是某个特定值的元素
class值不等于hot
$("#news a[class!='hot']").css("background","#c9cbcb");
4.3根据属性值包含特定的值获取元素
4.3.1属性选择器可以指定属性值以指定值开头的元素
a标签href属性值以www开头
$("#news a[href^='www']").css("background","#c9cbcb");
4.3.2属性选择器可以指定属性值以指定值结尾的元素
a标签href属性值以html结尾
$("#news a[href$='html']").css("background","#c9cbcb");
4.3.3属性选择器可以指定属性值包含指定值的元素
a标签href属性值包含“k2”的元素
$("#news a[href*='k2']").css("background","#c9cbcb");
5.过滤选择器
通过特定的过滤规则来筛选出所需的元素
主要分类:
基本过滤选择器
可见性过滤选择器
表单对象过滤选择器
内容过滤选择器、子元素过滤选择器……
基本过滤选择器
6.jQuery选择器注意事项
6.1特殊符号的转义
<div id="id#a">aa</div>
<div id="id[2]">cc</div>
获取这两个元素的选择器
$("#id#a");
$("#id[2]");错误
$("#id\\#a");
$("#id\\[2\\]");正确
6.2选择器中的空格
选择器的书写规范很严格,多一个空格或少一个空格,都会影响选择器的效果
var $t_a = $(".test :hidden"); //带空格的jQuery选择器
选取class为“test”的元素内部的隐藏元素
var $t_b = $(".test:hidden"); //不带空格的jQuery选择器
选取隐藏的class为“test”的元素