jQuery 选择器 - 2(过滤器)

简介: 版权声明:本文为博主原创文章,转载请注明出处。 https://blog.
版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/twilight_karl/article/details/70767537

简单过滤选择器


1. :first 取第一个元素
2. :last 取最后一个元素
3. :not(selecter) 除selector之外的元素
4. :even :odd 索引从0开始,索引为偶/奇数
5. :eq(index) 索引从0开始(负数从结尾开始)
6. :gt(index) 索引大于1
7. :lt(index) 索引小于2
8. :header 标题(h1~h6)
9. :animated 正在执行动画效果的元素
10. :focus 获得焦点时(网页初始状态已经被激活的元素)

    $("li:first").addClass("blue");            // 第一个li元素
    $("#test li:last").addClass("blue");   // 在id为test下的最后一个li元素
    $("#test li:lt(1)").addClass("blue");  // 在id为test下索引小于1的元素
    $(":header").addClass("blue");         // 所有的标题元素
    $("ul:not(#test)").addClass("blue");   // 所有的ul元素中除去id=test外的元素
    $("#table tr:even").addClass("blue");  // 表格的偶数行

还有一些与之等效的方法:
1. first()—-> :first
2. last()—-> :last
3. not()—-> :not
4. eq()—-> :eq(index)

        $("li").first().css("background","red");   // 相当于 :first
        $("li").first().css("background","red");   // 相当于 :last
        $("li").not(".li").css("background","red");    // 相当于 :not(index)
        $("li").eq("0").css("background","red");   // 相当于 :eq(index)

内容过滤选择器

  1. :contains(text) 获取包含给定文本的元素
  2. :empty 获取所有不包含子元素并且是空文本的空元素
  3. :has(selector) 选择子元素含有指定元素的父元素(选择的是父元素,判断的是子元素)
  4. :parent 获取含有子元素或者文本的元素
        $("li:contains(1)").css("background","red");   // 内容包含“1”的li元素
        $("p:empty").css("background","red");          // 没有子节点或者没有文本的p元素
        $("ul:has(.li)").css("background","red");      // 含有li元素的ul元素
        $("p:parent").css("background","red");         // 含有子节点或者文本的元素

一些容易混淆的方法:
1. parent()返回到父元素
2. parents()当前元素的所有祖先节点
3. parentsUntil()遇到某个祖先节点停止(忽略该节点以及以上节点)

        $(".li").parentsUntil("body").css("background","red"); // 获取父元素

可见性选择器

  1. :hidden 隐藏的元素
  2. :visible 显示的元素

隐藏的元素是指:css中display属性值为none的元素

对于隐藏的段落:
        <p style="display:none">隐藏的元素</p>
以下代码使其加上背景:
        $(":visible").css("background","red");

子元素过滤选择器

  1. :first-child 第一个孩子(所有父节点的每个首节点
  2. :last-child 最后一个孩子
  3. :only-child 只有一个孩子的元素
  4. :nth-child(num) 获取每一个父元素下特定位置的元素,索引从1开始(odd / even / index / numn)

first-child先找到所有元素的父元素,然后在堆每一个父元素找到他们的第一个子节点,所以first-child可能并不是一个元素
对于以下无序列表:

        <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
        </ul>
        <ul>
            <li>1</li>
            <li>2</li>
            <li>3</li>
        </ul>

使用以下代码:

        $("li:first-child").css("background","red");

结果是:
first-child

    $("li:nth-child(odd)").addClass("blue");   // 所有索引为奇数的li元素

常见方法:

1. is() 参数包括选择器,DOM对象,jQuery对象,function
2. hasClass() 是否含有对应的class
3. slice(begin,end) 根据序号选择,序号从0开始。-1表示最后一个[begin,end)
4. end() 返回当前元素的前一个元素的状态
5. contents()返回当前元素的子节点和文本节点
6. filter(“:red,.a,.b”) 放置多个选择

1, is()根据选择器和DOM对象判断:

        var flag = $("li:first").is(".li");                // true
        var flag = $("li:first").is($('li').get(0)); // true

is()使用匿名函数判断:

        flag = $("li:first").is(function(){
            return $(this).attr('class') == 'li';      // true
        });

2, 用hasClass() 判断是否有相应的class

        var flag = $("li:first").hasClass("li");

3, 给1~5的li添加样式(左闭右开)

        $("li").slice(1,5).css("background","red");

(1,-1) 表示从第一个到倒数第二个

        $("li").slice(1,-1).css("background","red");

4,filter()可以同时有多个条件

        $("li").filter(".li,.li2").css("background","red");

filter()使用匿名函数筛选

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