jQuery选择器

前言

本文内容摘自《锋利的jQuery》,梳理了jQuery里面的几种选择器的用法,这里只给出一个大概的结构,具体用法还请查资料

正文

jQuery选择器完全继承了CSS选择器的风格,可以随意将选择器组合在一起,下面来看看它支持哪些写法吧

常用选择器

标签选择器: $(“td”)
ID选择器: $(“#note”)
类选择器 : $(“.note”)
群组选择器:$(“td,#note, .note”)
后代选择器: $(“td input”) $(“td > input”)
通配符选择器: $(“*”) 、 $(“select *”) 、 $(“#note *”)

选择器可以组合使用,例如标签、Id、后代组合:$(“td#note span”)


层次选择器

选取ancestor所有后代: $(“ancestor descendant”)
选取parent元素子元素: $(“parent > child”)
prev元素下个同辈元素: $(“prev + next”)
prev之后所有兄弟节点: $(“prev~siblings”)

最后两个选择器注意和jQuery函数nextAll()、prevAll()、siblings()区分或者代替


过滤选择器

:first
:last
:not
:even
:odd
:eq
:gt
:lt
:header
:animated
:focus

上面的选择器其实也可以和之前的常用选择器、层次选择器混合使用,代表不同的含义。例如select:first 与select :first 一个表示相同类型下的第一个元素,而另一个表示这个类型下元素的第一个子元素;当然组合还有很多种方式:var name = $(“select > option:first”).val();

<body>
    <select name="review">
        <option value="0">苹果</option>
        <option value="1">香蕉</option>
        <option value="2">荔枝</option>
        <option value="3">芒果</option>
    </select>
    <select class="retrieve">
        <option value="3">芒果</option>
        <option value="2">荔枝</option>
        <option value="1">香蕉</option>
        <option value="0">苹果</option>
    </select>
    <script>
        $(function(){
            var name = $("select:first").attr("name")
            alert(name);
            var val = $("select.retrieve :first").val();
            alert(val);

        })
    </script>
</body>

内容过滤选择器

:contains
:empty
:has
:parent


可见性过滤选择器

:hidden
:visible


属性过滤选择器

[attribute] 例:$(“div[id]”)
[attribute=value] 例: $(“div[name=’test’]”)
[attribute!=value]
[attribute^=value] 注:以value开头
[attribute$=value] 注:以value结束
[attribute*=value]
[attribute|=value]
[attribute~=value]
[attribute1][attribute2][attributeN] 注:合并成复合属性熟悉器,范围每选择一次,缩小一次

这里用一个select的例子来说明

<body>
    <select name="review">
        <option value="0">苹果</option>
        <option value="1" selected="selected">香蕉</option>
        <option value="2">荔枝</option>
        <option value="3">芒果</option>
    </select>

    <script>
           var text = $("select[name='review'] option[selected]").text();
            alert(text); //输出香蕉
    </script>
</body>

子元素过滤选择器

:first-child
:last-child
:only-child
:nth-child

nth-child可以使用n这个字母,组成任意表达式,如2n 、2n+1 ,n会从1开始将满足条件的元素选取


表单对象属性过滤选择器

:enabled
:disabled
:checked
:selected

selected这个选择器,我想用select来举个例子

<body>
    <select name="review">
        <option value="0">苹果</option>
        <option value="1" selected="selected">香蕉</option>
        <option value="2">荔枝</option>
        <option value="3">芒果</option>
    </select>

    <script>
         var text =  $("select[name='review'] option:selected").text();
        alert(text); //输出香蕉
    </script>
</body>

表单选择器

:input
:text
:password
:radio
:checkbox
:submit
:image
:reset
:button
:file
:hidden

例子

<body>
    <input type="radio" name="test" value="0" /> 一级
    <input type="radio" name="test" checked value="1"/> 二级
    <script>
       var val = $("input:radio:checked").val();
        alert(val); //输出1
    </script>
</body>

结束语

jQuery非常的强大,还有很多优秀的开源,搬砖越来越容易了&_&

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值