jQuery选择器的使用及注意事项

jQuery选择器分类

jQuery选择器功能强大,种类也很多,分类如下
    通过CSS选择器选取元素
        基本选择器
        层次选择器
        属性选择器
    通过过滤选择器选择元素
        基本过滤选择器
        可见性过滤选择器


基本选择器

基本选择器包括标签选择器、类选择器、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的元素
全局选择器    *                    匹配所有元素                    $("*"?)选取所有元素

层次选择器
层次选择器通过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>

属性选择器
属性选择器通过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的元素


过滤选择器
通过特定的过滤规则来筛选出所需的元素

主要分类
    基本过滤选择器
    可见性过滤选择器
    表单对象过滤选择器
    内容过滤选择器、子元素过滤选择器……

基本过滤选择器


: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>元素
: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" )选取当前所有动画元素


可见性过滤选择器
通过元素显示状态来选取元素


语法                描述                示例    
:visible        选取所有可见的元素        $(":visible"?)选取所有可见的元素
:hidden            选取所有隐藏的元素        $(":hidden"?) 选取所有隐藏的元素


jQuery选择器注意事项
特殊符号的转义
<div id="id#a">aa</div>
<div id="id[2]">cc</div>

获取这两个元素的选择器
$("#id\\#a");
$("#id\\[2\\]");


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

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

猜你喜欢

转载自blog.csdn.net/a814163435/article/details/82493380