JQuery全部过滤选择器详细介绍下

简介: JQuery全部过滤选择器详细介绍下

属性过滤选择器

● 属性过滤选择器的过滤规则是通过元素的属性来获取相应的元素

1、[attribute] 用法: $(“div[id]”) ; 返回值 集合元素

说明: 匹配包含给定属性的元素. 例子中是选取了所有带"id"属性的 div 标签.

2、[attribute=value] 用法: $(“input[name=‘newsletter’]”).attr(“checked”, true); 返回值 集合元素

说明: 匹配给定的属性是某个特定值的元素.例子中选取了所有 name 属性是newsletter 的 input 元素.

3、[attribute!=value] 用法: $(“input[name!=‘newsletter’]”).attr(“checked”, true); 返回值集合元素

说明: 匹配所有不含有指定的属性,或者属性不等于特定值的元素.

此选择器等价于:not([attr=value]),要匹配含有特定属性但不等于特定值的元素,请使用[attr]:not([attr=value]).之前看到的:not派上了用场.

4、[attribute^=value] 用法: $(“input[name^=‘news’]”) 返回值 集合元素

说明: 匹配给定的属性是以某些值开始的元素

5、[attribute$=value]用法: ( " i n p u t [ n a m e ("input[name("input[name=‘letter’]") 返回值 集合元素

说明: 匹配给定的属性是以某些值结尾的元素.

6、[attribute*=value]用法: $(“input[name*=‘man’]”) 返回值 集合元素

说明: 匹配给定的属性是以包含某些值的元素.

7、[attributeFilter1][attributeFilter2][attributeFilterN]用法: ( " i n p u t [ i d ] [ n a m e ("input[id][name("input[id][name=‘man’]") 返回值 集合元素

说明: 复合属性选择器,需要同时满足多个条件时使用.是一个组合,这个例子中选择的是所有含有 id 属性,并且它的 name 属性是以 man 结尾的元素.

● 属性过滤选择器-应用实例

1.选取下列元素,改变其背景色为 #0000FF

2.含有属性title 的div元素.

3.属性title值等于"test"的div元素.

4.属性title值不等于"test"的div元素(没有属性title的也将被选中).

5.属性title值 以"te"开始 的div元素.

6.属性title值 以"est"结束 的div元素.

7.属性title值 含有"es"的div元素.

8.选取有属性id的div元素,然后在结果中选取属性title值含有“es”的 div 元素

代码演示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>属性过滤选择器-应用实例</title>
    <style type="text/css">
        div, span {
            width: 140px;
            height: 140px;
            margin: 20px;
            background: #9999CC;
            border: #000 1px solid;
            float: left;
            font-size: 17px;
            font-family: Roman;
        }
        div.mini {
            width: 30px;
            height: 30px;
            background: #CC66FF;
            border: #000 1px solid;
            font-size: 12px;
            font-family: Roman;
        }
        div.visible {
            display: none;
        }
    </style>
    <script type="text/javascript" src="./script/jquery-3.6.0.min.js"></script>
    <script type="text/javascript">
        $(function () {
            //*****含有属性title 的div元素.
            $("#b1").click(
                function () {
                    $("div[title]").css("background", "green");
                }
            )
            //****属性title值等于test的div元素
            $("#b2").click(
                function () {
                    $("div[title='test']").css("background", "green");
                }
            )
            //属性title值不等于test的div元素(没有属性title的也将被选中)
            $("#b3").click(
                function () {
                    $("div[title!='test']").css("background", "green");
                }
            )
            //属性title值 以te开始 的div元素
            $("#b4").click(
                function () {
                    $("div[title^='te']").css("background", "green");
                }
            )
            //属性title值 以est结束 的div元素
            $("#b5").click(
                function () {
                    $("div[title$='est']").css("background", "green");
                }
            )
            //属性title值 含有es的div元素
            $("#b6").click(
                function () {
                    $("div[title *= 'es']").css("background", "green");
                }
            )
            //选取有属性id的div元素,然后在结果中选取属性title值含有“es”的 div 元素
            $("#b7").click(
                function () {
                    $("div[id][title *= 'es']").css("background", "green");
                }
            )
        });
    </script>
</head>
<body>
<input type="button" value="含有属性title 的div元素." id="b1"/><br/><br/>
<input type="button" value="属性title值等于test的div元素" id="b2"/><br/><br/>
<input type="button" value="属性title值不等于test的div元素(没有属性title的也将被选中)" id="b3"/><br/><br/>
<input type="button" value="属性title值 以te开始 的div元素" id="b4"/><br/><br/>
<input type="button" value="属性title值 以est结束 的div元素" id="b5"/><br/><br/>
<input type="button" value="属性title值 含有es的div元素" id="b6"/><br/><br/>
<input type="button" value="选取有属性id的div元素,然后在结果中选取属性title值含有“es”的 div 元素" id="b7"/><br/><br/>
<div id="one" title="test">
    div id为one test
</div>
<div id="one-1" title="texxx">
    div id为one-1 texxx
</div>
<div id="one-2" title="xxxest">
    div id为one-2 xxxest
</div>
<div id="one-3" title="xxxesxxxxxt">
    div id为one-3 xxxesxxxxxt
</div>
<div id="two" title="ate">
    div id为two
</div>
<div id="three" class="one">
    div id为three
</div>
</body>
</html>

子元素过滤选择器

● 子元素过滤选择器基本介绍

1、:nth-child(index/even/odd/equation) 用法: $(“ul li:nth-child(2)”) 返回值 集合元素

说明: 匹配其父元素下的第 N 个子或奇偶元素.这个选择器和之前说的基础过滤(Basic Filters)中的 eq() 有些类似,不同的地方就是前者是从 0 开始,后者是从 1 开始.

2、:first-child 用法: $(“ul li:first-child”) 返回值 集合元素

说明: 匹配第一个子元素.‘:first’ 只匹配一个元素,而此选择符将为每个父元素匹配一个子元素.这里需要特别点的记忆下区别.

3、:last-child 用法: $(“ul li:last-child”) 返回值 集合元素

说明: 匹配最后一个子元素.':last’只匹配一个元素,而此选择符将为每个父元素匹配一个子元素.

4、: only-child 用法: $(“ul li:only-child”) 返回值 集合元素

说明: 如果某个元素是父元素中唯一的子元素,那将会被匹配.如果父元素中含有其他元素,那将不会被匹配.意思就是:只有一个子元素的才会被匹配!

5. nth-child() 选择器详解如下:

(1) :nth-child(even/odd): 能选取每个父元素下的索引值为偶(奇)数的元素

(2):nth-child(2): 能选取每个父元素下的索引值为 2 的元素

(3):nth-child(3n): 能选取每个父元素下的索引值是 3 的倍数 的元素

(4):nth-child(3n + 1): 能选取每个父元素下的索引值是 3n + 1 的元素

● 子元素过滤选择器示例-应用实例

  1. 选取下列元素,改变其背景色为 #0000FF
  2. 每个class为one的div父元素下的第2个子元素. 3. 每个class为one的div父元素下的第一个子元素
  3. 每个class为one的div父元素下的最后一个子元素
  4. 如果class为one的div父元素下的仅仅只有一个子元素,那么选中这个子元素

代码演示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>子元素过滤选择器示例-应用实例</title>
    <style type="text/css">
        div, span {
            width: 140px;
            height: 70px;
            margin: 20px;
            background: #9999CC;
            border: #000 1px solid;
            float: left;
            font-size: 17px;
            font-family: Roman;
        }
        div.visible {
            display: none;
        }
    </style>
    <script type="text/javascript" src="./script/jquery-3.6.0.min.js"></script>
    <script type="text/javascript">
        $(function () {
            //****每个class为one的div父元素下的第2个子元素
            $("#b1").click(
                function () {
                    $("div .one:nth-child(2)").css("background", "yellow");
                }
            )
            //*****每个class为one的div父元素下的第一个子元素
            $("#b2").click(
                function () {
                    $("div .one:first-child").css("background", "green");
                    //$("div .one:nth-child(1)").css("background", "green");
                }
            )
            //*****每个class为one的div父元素下的最后一个子元素
            $("#b3").click(
                function () {
                    $("div .one:last-child").css("background", "red");
                }
            )
            //**如果class为one的div父元素下的仅仅只有一个子元素,那么选中这个子元素
            $("#b4").click(
                function () {
                    $("div .one:only-child").css("background", "pink");
                }
            )
        });
    </script>
</head>
<body>
<input type="button" value="每个class为one的div父元素下的第2个子元素" id="b1"/><br/><br/>
<input type="button" value="每个class为one的div父元素下的第一个子元素" id="b2"/><br/><br/>
<input type="button" value="每个class为one的div父元素下的最后一个子元素" id="b3"/><br/><br/>
<input type="button" value="如果class为one的div父元素下的仅仅只有一个子元素,那么选中这个子元素" id="b4"/><br/><br/>
<div class="one">
    <div id="one" class="one">
        XXXXXXXXX id=one
    </div>
    <div id="two" class="one">
        XXXXXXXXX id=two
    </div>
    <div id="three" class="one">
        XXXXXXXXX id=three
    </div>
    <div id="four" class="one">
        XXXXXXXXX id=four
    </div>
</div>
<div class="one">
    <div id="five" class="one">
        XXXXXXXXX id=five
    </div>
</div>
</body>
</html>

表单属性过滤选择器

● 此选择器主要对所选择的表单元素进行过滤

1、:enabled 用法: $(“input:enabled”) 返回值 集合元素

说明: 匹配所有可用元素.意思是查找所有 input 中不带有 disabled="disabled"的 input. 不为 disabled,当然就为 enabled 啦.

2、:disabled 用法: $(“input:disabled”) 返回值 集合元素

说明: 匹配所有不可用元素.与上面的那个是相对应的.

3、:checked 用法: $(“input:checked”) 返回值 集合元素

说明: 匹配所有选中的被选中元素(复选框、单选框等,不包括 select 中的 option).

4、:selected 用法: $(“select option:selected”) 返回值 集合元素

说明: 匹配所有选中的 option 元素.

● 表单对象属性过滤选择器-应用实例

  1. 利用 jQuery 对象的 val() 方法改变表单内可用 元素的值
  2. 利用 jQuery 对象的 val() 方法改变表单内不可用 元素的值
  3. 利用 jQuery 对象的 length 属性获取多选框选中的个数

4.利用 jQuery 对象的 text() 方法获取下拉框选中的内容

代码演示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>表单对象属性过滤选择器-应用实例</title>
    <style type="text/css">
        div, span {
            width: 140px;
            height: 140px;
            margin: 20px;
            background: #9999CC;
            border: #000 1px solid;
            float: left;
            font-size: 17px;
            font-family: Roman;
        }
    </style>
    <script type="text/javascript" src="./script/jquery-3.6.0.min.js"></script>
    <script type="text/javascript">
        $(function (){
            //*利用 jQuery 对象的 val() 方法改变表单内 type=text 可用 <input> 元素的值
            $("#b1").click(
                function () {
                    //$jquery对象.val() , 如果() 是空的,就表示返回value
                    //$jquery对象.val('值') , 就表示给该对象value设置值
                    $("input[type='text']:enabled").val("台球");
                }
            )
            //利用 jQuery 对象的 val() 方法改变表单内 type=text 不可用 <input> 元素的值
            $("#b2").click(
                function () {
                    //解读
                    //$jquery对象.val() , 如果() 是空的,就表示返回value
                    //$jquery对象.val('值') , 就表示给该对象value设置值
                    $("input[type='text']:disabled").val("足球");
                }
            )
            //利用 jQuery 对象的 length 属性获取多选框/复选框选中的个数
            $("#b3").click(
                function () {
                    alert($("input[type='checkbox']:checked").length);
                }
            )
            //****利用 jQuery 对象的 text() 方法获取下拉框选中的内容
            $("#b4").click(
                function () {
                    //如果我们希望选择指定的select , 可以加入属性过滤选择器
                    //var $selects = $("select[属性='值'] option:selected");
                    var $selects = $("select option:selected");
                    $selects.each(function (){
                        alert("你选择了= " + $(this).text())
                    })
                }
            )
        });
    </script>
</head>
<body>
<input type="button" value="利用 jQuery 对象的 val() 方法改变表单内 type=text 可用 <input> 元素的值" id="b1"/><br/><br/>
<input type="button" value="利用 jQuery 对象的 val() 方法改变表单内 type=text 不可用 <input> 元素的值" id="b2"/><br/><br/>
<input type="button" value="利用 jQuery 对象的 length 属性获取多选框选中的个数" id="b3"/><br/><br/>
<input type="button" value="利用 jQuery 对象的 text() 方法获取下拉框选中的内容" id="b4"/><br/><br/>
<br>
<input type="text" value="篮球1"/>
<input type="text" value="篮球2"/>
<input type="text" value="篮球3" disabled="true"/>
<input type="text" value="篮球4" disabled="true"/>
<br>
<h1>选择你的爱好</h1>
<input type="checkbox" value="爱好1"/>爱好1
<input type="checkbox" value="爱好2"/>爱好2
<input type="checkbox" value="爱好3"/>爱好3
<input type="checkbox" value="爱好4"/>爱好4
<br>
<h1>选项如下:</h1>
<select name="job" size=9 multiple="multiple">
    <option value="选项1">选项1^^</option>
    <option value="选项2">选项2^^</option>
    <option value="选项3">选项3^^</option>
    <option value="选项4">选项4^^</option>
    <option value="选项5">选项5^^</option>
    <option value="选项6">选项6^^</option>
</select>
<select id="xxx" name="edu">
    <option value="博士">博士^^</option>
    <option value="硕士">硕士^^</option>
    <option value="本科">本科^^</option>
    <option value="小学">小学^^</option>
</select>
</body>
</html>


目录
相关文章
N..
|
6月前
|
JavaScript 前端开发 开发者
jQuery选择器
jQuery选择器
N..
46 1
|
1月前
|
JavaScript 前端开发
jQuery 选择器
jQuery 选择器
30 2
|
2月前
|
JavaScript 索引
jQuery 选择器
jQuery 选择器
40 5
|
1月前
|
JavaScript 前端开发
jQuery 选择器
jQuery 选择器用于操作 HTML 元素,支持基于 id、类、类型、属性等条件选择元素。它扩展了 CSS 选择器的功能,并使用 $() 符号。例如,$(&quot;p&quot;) 选取所有段落元素,而 $(&quot;button&quot;).click(function(){ $(&quot;p&quot;).hide(); }) 实现点击按钮后隐藏所有段落。
|
5月前
|
JavaScript 前端开发
jQuery 选择器
jQuery 选择器
35 0
|
5月前
|
JavaScript 前端开发 索引
jQuery的选择器与自带函数详解
jQuery的选择器与自带函数详解
|
2月前
|
JavaScript 前端开发 CDN
jQuery学习记录--jQuery语法,选择器,事件及hide(),show(), toggle()
本文是关于jQuery的学习笔记,涵盖了jQuery的简介、语法、选择器、事件处理以及hide()、show()、toggle()等方法的使用。
jQuery学习记录--jQuery语法,选择器,事件及hide(),show(), toggle()
|
2月前
|
JavaScript
jQuery 选择器
jQuery 选择器
25 3
|
2月前
|
JavaScript 索引
jQuery 选择器
jQuery 选择器
30 1
|
3月前
|
JavaScript 索引
jQuery的选择器有几种?
jQuery的选择器有几种?
36 1