JQuery选择器

jQuery选择器类似于CSS选择器,用来选取网页中的元素

如:
$("h3").css("background","#09F");



获取并设置网页中所有<h3>元素的背景

“h3”为选择器语法,必须放在$()中

$(“h3”)返回jQuery对象

.css()是为jQuery对象设置样式的方法

​ jQuery选择器分类

1.通过CSS选择器选取元素:

​ 1.1.基本选择器

基本选择器包括标签选择器、类选择器、ID选择器、并集选择器和全局选择器

名称语法构成描述示例
标签选择器 element 根据给定的标签名匹配元素 $("h2" )选取所有h2元素
类选择器 .class 根据给定的class匹配元素 $(" .title")选取所有class为title的元素
ID选择器 #id 根据给定的id匹配元素 $(" #title")选取id为title的元素
并集选择器 selector1,selector2,...,selectorN 将每一个选择器匹配的元素合并后一起返回 $("div,p,.title" )选取所有div、p和拥有class为title的元素
全局选择器 * 匹配所有元素 $("*" )选取所有元素

标签选择器:标签选择器根据给定的标签名匹配元素

如:
$(document).ready(function(){
    $("dt").click(function(){
        $("dd").css("display","block"); 
    });
    $("h1").css("color","blue");
})



类选择器:类选择器根据给定的class匹配元素

如:
$(".price").css({"background":"#efefef","padding":"5px"});



ID选择器:ID选择器根据给定的id匹配元素

$("#author").css("color","#083499");



并集选择器:并集选择器用来合并元素集合

如:
$(".intro,dt,dd").css("color","#ff0000");



全局选择器:全局选择器可以获取所有元素

如:
$("*").css("font-weight","bold");



1.2.层次选择器

层次选择器通过DOM元素之间的层次关系来获取元素

名称语法构成描述示例
后代选择器 ancestor descendant 选取ancestor元素里的所有descendant(后代)元素 $("#menu span" )选取#menu下的<span>元素
子选择器 parent>child 选取parent元素下的child(子)元素 $(" #menu>span" )选取#menu的子元素<span>
相邻元素选择器 prev+next 选取紧邻prev元素之后的next元素 $(" h2+dl " )选取紧邻<h2>元素之后的同辈元素<dl>
同辈元素选择器 prev~sibings 选取prev元素之后的所有siblings元素 $(" h2~dl " )选取<h2>元素之后所有的同辈元素<dl>

后代选择器:后代选择器用来获取元素的后代元素

如:
$(".textRight p").css("color","red");



子选择器:子选择器用来获取元素的子元素

如:
$(".textRight>p").css("color","red");



相邻选择器:n相邻选择器用来选取紧邻目标元素的下一个元素

$("h1+p").css(text-decoration","underline"); 


同辈选择器:同辈选择器用来选取目标元素之后的所有同辈元素

如:
$("h1~p").css("text-decoration","underline");



​ 1.3属性选择器:属性选择器通过HTML元素的属性来选择元素

语法构成描述示例
[attribute^=value] 选取给定属性是以某些特定值开始的元素 $(" [href^='en']" )选取href属性值以en开头的元素
[attribute$=value] 选取给定属性是以某些特定值结尾的元素 ='.jpg']" )选取href属性值以.jpg结尾的元素
[attribute*=value] 选取给定属性是以包含某些值的元素 $(" [href* ='txt']" )选取href属性值中含有txt的元素

根据属性名获取元素:属性选择器可以根据是否包含某属性来选取元素

1.3-1.a标签带有class属性

如:
$("#news a[class]").css("background","#c9cbcb");



1.3-2.属性选择器可以根据属性的值来选取元素

class属性值为hot

如:
$("#news a[class='hot']").css("background","#c9cbcb");



1.3-3.属性选择器可以指定选取不等于属性是某个特定值的元素

​ class值不等于hot

如:
$("#news a[class!='hot']").css("background","#c9cbcb");



1.3-4:属性选择器可以指定属性值以指定值开头的元素

a标签href属性值以www开头

如:
$("#news a[href^='www']").css("background","#c9cbcb");



1.3-5:属性选择器可以指定属性值以指定值结尾的元素

a标签href属性值以html结尾

如:
$("#news a[href$='html']").css("background","#c9cbcb");




1.3-6:属性选择器可以指定属性值包含指定值的元素

​ a标签href属性值包含“k2”的元素

如:
$("#news a[href*='k2']").css("background","#c9cbcb");



3.过滤选择器

通过过滤选择器选择元素

3.1基本过滤选择器

语法描述示例
:eq(index) 选取索引等于index的元素(index从0开始) $("li:eq(1)" )选取索引等于1的<li>元素
:gt(index) 选取索引大于index的元素(index从0开始) $(" li:gt(1)" )选取索引大于1的<li>元素(注:大于1,不包括1)
:lt(index) 选取索引小于index的元素(index从0开始) $(“li:lt(1)” )选取索引小于1的<li>元素(注:小于1,不包括1)
:header 选取所有标题元素,如h1~h6 $(":header" )选取网页中所有标题元素
:focus 选取当前获取焦点的元素 $(":focus" )选取当前获取焦点的元素
:animated 选择所有动画 $(":animated" )选取当前所有动画元素
语法描述示例
:first 选取第一个元素 $(" li:first" )选取所有<li>元素中的第一个<li>元素
:last 选取最后一个元素 $(" li:last" )选取所有<li>元素中的最后一个<li>元素
:not(selector) 选取去除所有与给定选择器匹配的元素 $(" li:not(.three)" )选取class不是three的元素
:even 选取索引是偶数的所有元素(index从0开始) $(" li:even" )选取索引是偶数的所有<li>元素
:odd 选取索引是奇数的所有元素(index从0开始) $(" li:odd" )选取索引是奇数的所有<li>元素

3.2可见性过滤选择器

通过元素显示状态来选取元素

语法描述示例
:visible 选取所有可见的元素 $(":visible" )选取所有可见的元素
:hidden 选取所有隐藏的元素 $(":hidden" ) 选取所有隐藏的元素
如:
$("p:hidden").show();
$("p:visible").hide();



3.3通过元素显示状态来选取元素

3.4表单对象过滤选择器

3.5内容过滤选择器、子元素过滤选择器

​ jQuery选择器注意事项

选择器中的空格

选择器的书写规范很严格,多一个空格或少一个空格,都会影响选择器的效果

如:
var $t_a = $(".test :hidden"); //带空格的jQuery选择器
选取class为“test”的元素内部的隐藏元素

var $t_b = $(".test:hidden");  //不带空格的jQuery选择器
选取隐藏的class为“test”的元素





原文地址:https://www.cnblogs.com/1314szh/p/13167938.html