jQuery_3_过滤选择器

过滤选择器(过滤器)类似于CSS3里的伪类,包含

1. 基本过滤器

2. 内容过滤器

3. 可见性过滤器

4. 子元素过滤器

5. 其他方法

 

一.  基本过滤器

过滤器名jQuery语法注释
:first$("li:first")选取第一个li元素
:last$("li:last")选取最后一个li元素
:not(selector)$("li:not(.red)")选取class不是red的li元素
:even$("li:even")选取索引(0开始)是偶数的所有元素
:odd$("li:odd")选取索引(0开始)是奇数的所有元素
:eq(index)

$("li.eq(2)") 正数第三个

$$("li.eq(-2)") 倒数第二个

选择索引(0开始)等于index的元素
:gt(index)$("li:gt(2)")选择索引(0开始)大于index的元素
:lt(index)$("li:lt(2)")选择索引(0开始)小于index的元素
:header$(":header")选择标题元素h1~h6
:focus$("input:focus")

选择当前被焦点元素

focus过滤器,必须是网页初始状态的已经被激活焦点的元素才能实现元素获取。而不是鼠标点击或Tab键敲击激活的

 

四个方法    

first()等同于 :first
last()等同于:last
eq(index)等同于:eq(index)
not(selector)等同于:not(selector)

 

    <ul id="d1">
        <li>列表1</li>
        <li>列表2</li>
        <li class="red">列表3</li>
        <li>列表4</li>
        <li>列表5</li>
        <li>列表6</li>
    </ul>

    <ul>
        <li>列表1</li>
        <li>列表2</li>
        <li>列表3</li>
        <li>列表4</li>
        <li>列表5</li>
        <li>列表6</li>
    </ul>

    <div>
        <h3>我是标题</h3>
    </div>

    <input type="text"/>
    <input type="text" />

    <div style="display:none">aduabcppoip</div>
    <div>jhkjkhjkhjkhjk</div>
    <div></div>
    <div></div>
    $("li:first").css("background", "grey");
    $("li:last").css("background", "grey");
    $("#d1 li:last").css("background", "grey");
    $("ul:first li:last").css("background", "grey");
    $("li:not(.red)").css("background", "grey");
    $("li:even").css("background", "grey");
    $("li:odd").css("background", "grey");
    $("li:eq(2)").css("background", "grey");
    $("li:eq(-2)").css("background", "grey");
    $("li:gt(2)").css("background", "grey");
    $("li:lt(3)").css("background", "grey");
    $("li:lt(-3)").css("background", "grey");
    $(":header").css("background", "grey");
    $("div :header").css("background", "grey");
    $("input").get(1).focus();//先让文本框选中
    $("input:last:focus").css("background", "red");

    $("li").first().css("background", "grey");
    $("li").last().css("background", "grey");
    $("li").not(".red").css("background", "grey");
    $("li").eq(2).css("background", "grey");

 

      二. 内容过滤器

   内容过滤器的过滤规则主要是包含了子元素或文本内容          

过滤器名JQuery语法注释
:contains(text)$(":contains('abc')")选取含有“abc”文本的元素
:empty$("div:empty")选取不包含子元素或空文本的div元素
:has(selector)$(":has(.red)")选择子元素含有class是res的元素
:parent$(":parent")选取含有子元素或文本的元素

       

      四个方法

has(selector)等同于:has(selector)
parent()选择当前元素的父元素
parents()选择当前元素的父元素和祖先元素
parentsUntil()选择当前元素的遇到某个元素停止

      注意:这里的parent方法和:parant过滤器是不同的

    $("div:contains('abc')").css("background", "grey");
    $("div:empty").css("height", "20px").css("background", "grey");
    $("ul:has(.red)").css("background", "grey");
    $("div:parent").css("background", "grey");

    $("ul").has(".red").css("background", "grey");
    $("li").parent().css("background", "grey");
    $("li").parent().eq(0).css("background", "grey");
    $("li").parents().css("background", "grey");
    $("li").parentsUntil("body").css("background", "grey");

 

      三. 可见性过滤器

            可见性过滤器根据元素的可见性和不可见性来选择相应元素             

:hidden$(":hidden")选取不可见元素
:visible$(":visible")选取可见元素

      :hidden过滤器一般是包含的内容为:css样式为dispaly:none, input表单类型为type="hidden"和          visiblity:hidden的元素。

    $("div:hidden").css("background", "grey").show(1000);
    $("div:visible").css("background", "grey")

 

转载于:https://www.cnblogs.com/xiao9426926/p/6645775.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值