jQuery选择器

基本筛选选择器

$(":first") 匹配第一个元素
$(":last") 匹配最后一个元素
$(":not(select)") 去掉不匹配的选择器元素
$(":eq(index)") 在匹配的集合中选择索引值为index的元素
$(":gt(index)") 选择匹配集合中所有大于给定index(索引值)的元素
$(":even") 选择索引值为偶数的元素,从0开始计数
$(":odd") 选择索引值为奇数的元素,从0开始计数
$(":lt(index)") 选择匹配集合中所有索引值小于给定index参数的元素
$(":header") 选择所有标题元素,像h1,h2,h3等
$("lang(language)") 选择指定语言的所有元素
$(":root") 选择该文档的根元素
$(":animated") 选择所有正在执行动画效果的元素

<div class="left">
        <div class="div">
            <p>div:first</p>
            <p>:even</p>
        </div>
        <div class="div">
            <p>:odd</p>
        </div>
        <div class="div">
            <p>:even</p>
        </div>
        <div class="div">
            <p>:odd</p>
        </div>
        <div class="div">
            <p>:even</p>
        </div>
        <div class="div">
            <p>div:last</p>
            <p>:odd</p>
        </div>
    </div>


<script type="text/javascript">
//找到第一个div
$(".div:first").css("color", "#CD00CD");
</script>

<script type="text/javascript">
//找到最后一个div
$(".div:last").css("color", "#CD00CD");
</script>

<script type="text/javascript">
//:even 选择所引值为偶数的元素,从 0 开始计数
$(".div:even").css("border", "3px groove red");
</script>

<script type="text/javascript">
//:odd 选择所引值为奇数的元素,从 0 开始计数
$(".div:odd").css("border", "3px groove blue");
</script>

demo
链接描述

内容筛选选择器

$(":contain(text)") 选择所有包含指定文本的元素
$(":parent") 选择所有含有子元素或者文本的元素
$(":empty") 选择所有没有子元素的元素(包括文本节点)
$(":has(selector)") 选择元素中至少包含指定选择器的元素
图片描述

<div class="left">
        <div class="div">
            <p>contains</p>
        </div>
        <div class="div">
            <p>:contains</p>
        </div>
        <div class="div">
            <p>
                <span>:has</span>
            </p>
        </div>
        <div class="div">
            <p>:contains</p>
        </div>
    </div>
    <script type="text/javascript">
        //查找所有class='div'中DOM元素中包含"contains"的元素节点
        //并且设置颜色
        $(".div:contains(':contains')").css("color", "#CD00CD");
    </script>

    <script type="text/javascript">
        //查找所有class='div'中DOM元素中包含"span"的元素节点
        //并且设置颜色
        $(".div:has(span)").css("color", "blue");
    </script>
    <h3>:parent/:empty</h3>
    <div class="left">
        <div class="aaron">
            <a>:parent</a>
        </div>
        <div class="aaron">
            <a>:parent</a>
        </div>
        <div class="aaron">
            <a>:parent</a>
        </div>
        <div class="aaron">
            <a></a>
        </div>
    </div>
    <script type="text/javascript">
       //选择所有包含子元素或者文本的a元素
       //增加一个蓝色的边框
       $("a:parent").css("border", "3px groove blue");
    </script>

    <script type="text/javascript">
       //找到a元素下面的所有空节点(没有子元素)
       //增加一段文本与边框
       $("a:empty").text(":empty").css("border", "3px groove red"); 
    </script>

demo

子元素筛选选择器

$(:first-chid)        //选择所有父元素级下的第一个子元素
$(:last-child)        //选择所有父元素下的最后一个元素
$(:only-child)        //如果某元素是其父元素的唯一子元素,那么它就会被选中
$(:nth-child)         //选择他们所有父元素的第n个元素
$(:nth-last-child)    //选择他们所有父元素的第n个元素,计数从最后一个元素到第一个
<h2>子元素筛选选择器</h2>
    <h3>:first-child、:last-child、:only-child</h3>
    <div class="left first-div">
        <div class="div">
            <a>:first-child</a>
            <a>第二个元素</a>
            <a>:last-child</a>
        </div>
        <div class="div">
            <a>:first-child</a>
        </div>
        <div class="div">
            <a>:first-child</a>
            <a>第二个元素</a>
            <a>:last-child</a>
        </div>
    </div>

    <script type="text/javascript">
        //查找class="first-div"下的第一个a元素
        //针对所有父级下的第一个
        $(".first-div a:fist-child").css("color", "#CD00CD");
    </script>

    <script type="text/javascript">
        //查找class="first-div"下的最后一个a元素
        //针对所有父级下的最后一个
        //如果只有一个元素的话,last也是第一个元素
        $(".first-div a:last-child").css("color", "red");
    </script>

    <script type="text/javascript">
        //查找class="first-div"下的只有一个子元素的a元素
        $(".first-div a:only-child").css("color", "blue");
    </script>


    <h3>:nth-child、:nth-last-child</h3>
    <div class="left last-div">
        <div class="div">
            <a>:first-child</a>
            <a>第二个元素</a>
            <a>第三个元素</a>
            <a>:last-child</a>
        </div>
        <div class="div">
            <a>:first-child</a>
            <a>第二个元素</a>
        </div>
        <div class="div">
            <a>:first-child</a>
            <a>第二个元素</a>
            <a>第三个元素</a>
            <a>:last-child</a>
        </div>
    </div>

    <script type="text/javascript">
        //查找class="last-div"下的第二个a元素
        $(".last-div a:nth-child(2)").css("color", "#CD00CD");
    </script>

    <script type="text/javascript">
        //查找class="last-div"下的倒数第二个a元素
        $(".last-div a:nth-last-child(2)").css("color", "red");
    </script>

表单元素选择器

$(:input) 选择所有input,textarea,select和button元素
$(:text) 匹配所有文本框
$(:password) 匹配所有密码框
$(:radio) 匹配所有单选按钮
$(:checkbox) 匹配所有复选框
$(:submit) 匹配所有提交按钮
$(:image) 匹配所有图像域
$(:reset) 匹配所有重置按钮
$(:button) 匹配所有按钮
$(:file) 匹配所有按钮
<h2>子元素筛选选择器</h2>

<h3>input、text、password、radio、checkbox</h3>
<h3>submit、image、reset、button、file</h3>
<div class="left first-div">
    <form>
        <input type="text" value="text类型"/>
        <input type="password" value="password"/>
        <input type="radio"/> 
        <input type="checkbox"/>
        <input type="submit" />
        <input type="image" />
        <input type="reset" />
        <input type="button" value="Button" />
        <input type="file" />
    </form>
</div>

<script type="text/javascript">
    //查找所有 input, textarea, select 和 button 元素
    //:input 选择器基本上选择所有表单控件
    $(':input').css("border", "1px groove red"); 
</script>

<script type="text/javascript">
    //匹配所有input元素中类型为text的input元素
    $('input:text').css("background", "#A2CD5A");
</script>

<script type="text/javascript">
    //匹配所有input元素中类型为password的input元素
    $('input:password').css("background", "yellow");
</script>

<script type="text/javascript">
    //匹配所有input元素中的单选按钮,并选中
    $('input:radio').attr('checked','true');
</script>

<script type="text/javascript">
    //匹配所有input元素中的复选按钮,并选中
    $('input:checkbox').attr('checked','true'); 
</script>

<script type="text/javascript">
    //匹配所有input元素中的提交的按钮,修改背景颜色
    $('input:submit').css("background", "#C6E2FF");
</script>

<script type="text/javascript">
    //匹配所有input元素中的图像类型的元素,修改背景颜色
    $('input:image').css("background", "#F4A460");
</script>

<script type="text/javascript">
    //匹配所有input元素中类型为按钮的元素
    $('input:button').css("background", "red");
</script>

<script type="text/javascript">
    //匹配所有input元素中类型为file的元素
    $('input:file').css("background", "#CD1076");
</script>


  [1]: http://codepen.io/i-summer/pen/EWjZLv
  [2]: http://codepen.io/i-summer/details/RpPpKX/
  [3]: /img/bVJImf

山海
860 声望15 粉丝

下一篇 »
常见BUG解决