重点
重点
重点
重点
重点
jQuery的选择器类似于CSS选择器,用来选取网页中的元素
$("h3").css("background","#09F");
jQuery的选择器功能强大,种类也很多,分类如下:
基本选择器包括标签选择器,类选择器,ID选择器,并集选择器,交集选择器和全局选择器
名称 | 语法构成 | 描述 | 示例 |
---|---|---|---|
标签选择器 | 元件 | 根据给定的标签名匹配元素 | $(“h2”)选取所有h2元素 |
类选择器 | 。类 | 根据给定的类匹配元素 | $(“。title”)选取所有类为title的元素 |
ID选择器 | #ID | 根据给定的ID匹配元素 | $(“#title”)选取id为title的元素 |
并集选择器 | selector1,选择器2,...,选择器N | 将每一个选择器匹配的元素合并后一起返回 | $(“div,p,.title”)选取所有div,p和拥有类为title的元素 |
标签选择器根据给定的标签名匹配元素
$("h3").css("background","#09F") // 获取并设置所有元素的背景颜色
类选择器根据给定的类匹配元素
$(".title").css("background","#09F") // 获取并设置所有class为title的元素的背景颜色
ID选择器根据给定的ID匹配元素
$("#box").css("background","#09F") // 获取并设置id为box的元素的背景颜色
并集选择器用来合并元素集合
$("h2,dt,.title").css("background","#09F"); //获取并设置所有、、class为title的元素的背景颜色
交集选择器可以对元素集合根据类或ID再筛选
$("h2.title").css("background","#09F"); // 获取并设置所有class为title的元素的背景颜色
全局选择器可以获取所有元素
$("*").css("color","red"); // 改变所有元素的字体颜色
层次选择器通过DOM元素之间的层次关系来获取元素
名称 | 语法构成 | 描述 | 示例 |
---|---|---|---|
后代选择器 | 祖先后裔 | 选取ancestor元素里的所有descendant(后代)元素 | $("#menu span" )选取#menu下的元素 |
子选择器 | parent>child | 选取parent元素下的child(子)元素 | $(" #menu>span" )选取#menu的子元素 |
相邻元素选择器 | prev+next | 选取紧邻prev元素之后的next元素 | $(" h2+dl " )选取紧邻元素之后的同辈元素 |
同辈元素选择器 | prev~sibings | 选取prev元素之后的所有siblings元素 | $(" h2~dl " )选取元素之后所有的同辈元素 |
后代选择器用来获取元素的后代元素
$("#menu span").css("background-color","#09F"); // 获取并设置#menu下的元素的背景颜色
子选择器用来获取元素的子元素
$("#menu>span").css("background-color","#09F"); // 获取并设置#menu下的子元素的背景颜色
>
作用于元素的第一代后代,空格
作用于元素的所有后代
相邻选择器用来选取紧邻目标元素的下一个元素
$("h2+dl").css("background-color","#09F"); // 获取并设置紧接在元素后的元素的背景颜色
同辈选择器用来选取目标元素之后的所有同辈元素
$("h2~dl").css("background-color","#09F"); // 获取并设置元素之后的所有同辈元素的背景颜色
属性选择器通过HTML元素的属性来选择元素
名称 | 语法构成 | 描述 | 示例 |
---|---|---|---|
属性选择器 | [attribute] | 选取包含给定属性的元素 | $("[href]" )选取含有href属性的元素 |
属性选择器 | [attribute=value] | 选取等于给定属性是某个特定值的元素 | $("[href ='#']" )选取href属性值为“#”的元素 |
属性选择器 | [attribute !=value] | 选取不等于给定属性是某个特定值的元素 | $("[href !='#']" )选取href属性值不为“#”的元素 |
属性选择器 | [attribute^=value] | 选取给定属性是以某些特定值开始的元素 | $("[href^='en']" )选取href属性值以en开头的元素 |
属性选择器 | [attribute$=value] | 选取给定属性是以某些特定值结尾的元素 | $("[href$='.jpg']" )选取href属性值以.jpg结尾的元素 |
属性选择器 | [attribute*=value] | 选取给定属性是以包含某些值的元素 | $("[href*='txt']" )选取href属性值中含有txt的元素 |
属性选择器 | [selector1] | 选取满足多个条件的复合属性的元素 | $("li [id][title=新闻要点]" )选取含有id属性和title属性为新闻要点的 |
属性选择器可以根据是否包含某属性来选取元素
$("h2[title]").css("background-color","#09F"); // 改变含有title属性的元素的背景颜色
属性选择器可以根据属性的值来选取元素
$("[class=odds]").css("background-color","#09F"); // 改变class属性的值为odds的元素的背景颜色
属性选择器支持多属性条件复合查找元素
$("li[class][title*=y]").css("background-color","#09F"); // 改变包含class属性,且title属性的值中含有y的元素的背景颜色
需求说明:单击p元素后,根据下图设置元素的背景颜色、文本颜色属性
实现思路:
过滤选择器通过特定的过滤规则来筛选元素,语法特点是使用“:”,如使用$(“li:first”)来选取第一个li元素
主要分类如下:
基本过滤选择器可以选取第一个元素、最后一个元素、索引为偶数或奇数的元素
语法构成 | 描述 | 示例 |
---|---|---|
:first | 选取第一个元素 | $(" li:first" )选取所有元素中的第一个元素 |
:last | 选取最后一个元素 | $(" li:last" )选取所有元素中的最后一个元素 |
:even | 选取索引是偶数的所有元素(index从0开始) | $(" li:even" )选取索引是偶数的所有元素 |
:odd | 选取索引是奇数的所有元素(index从0开始) | $(" li:odd" )选取索引是奇数的所有元素 |
:eq(index) | 选取索引等于index的元素(index从0开始) | $("li:eq(1)" )选取索引等于1的元素 |
:gt(index) | 选取索引大于index的元素(index从0开始) | $(" li:gt(1)" )选取索引大于1的元素(注:大于1,不包括1) |
:lt(index) | 选取索引小于index的元素(index从0开始) | $(“li:lt(1)” )选取索引小于1的元素(注:小于1,不包括1) |
:not(selector) | 选取去除所有与给定选择器匹配的元素 | $(" li:not(.three)" )选取class不是three的元素 |
:header | 选取所有标题元素,如h1~h6 | $(":header" )选取网页中所有标题元素 |
:focus | 选取当前获取焦点的元素 | $(":focus" )选取当前获取焦点的元素 |
$("li:first");
$("li:last");
$("li:even");
$("li:odd");
$("li:eq(1)");
$("li:gt(1)");
$("li:lt(1)");
$("li:not(.three)");
$(":header");
$(":focus");
可见性过滤选择器可以通过元素显示状态来选取元素
语法构成 | 描述 | 示例 |
---|---|---|
:visible | 选取所有可见的元素 | $(":visible" )选取所有可见的元素 |
:hidden | 选取所有隐藏的元素 | $(":hidden" ) 选取所有隐藏的元素 |
$("p:hidden").show(); // 获取隐藏的元素,使其显示
$("p:visible").hide(); // 获取显示的元素,使其隐藏
id="id#a">aa
id="id[2]">cc
错误方式:
$("#id#a");
$("#id[2]");
正确方式
$("#id\\#a");
$("#id\\[2\\]");
选择器的书写规范很严格,多一个空格或少一个空格,都会影响选择器的效果
// 选取class为“test”的元素内部的隐藏元素
var $t_a = $(".test :hidden"); //带空格的jQuery选择器
// 选取隐藏的class为“test”的元素
var $t_b = $(".test:hidden"); //不带空格的jQuery选择器
使用jQuery美化近期热门栏目
需求说明:页面加载后,列表项的偶数行背景颜色为#CCC,其中“宿醉”所在列表项背景颜色为#FF99CC,单击“更多”和“更多排名”均能显示隐藏的列表内容
本章中选择器包括哪些?每一个写一个示例。