zoukankan      html  css  js  c++  java
  • [轉]jquery选择器完整介绍

    上次主要总结了下jQuery对象与dom对象的相互转换,今天我们看看jQuery选择器。

    jQuery选择器使得获得页面元素变得更加容易、更加灵活,从而大大减轻了开发人员的压力。如同盖楼一样,没有砖瓦,就盖不起楼房。得不到元素谈何其他各种操作呢?可见,jQuery选择器的重要性。当然想一下子掌握所有选择器也是很困难的,这个得靠实践和积累。

    现在我们正式进入jQuery选择器的学习。我们将jQuery选择器进行分类学习,将jQuery学习器分为以下几种:

    1、基本选择器

    • id                       根据元素ID选择
    • elementname       根据元素名称选择
    • classname           根据元素css类名选择

    举例:

    <input type="text" id="ID" value="根据ID选择" />
    <a>根据元素名称选择</a>
    <input type="text" class="classname" value="根据元素css类名选择" />
    jQuery("#ID").val();
    jQuery("a").text();
    jQuery(".classname").val();

    即可分别得到元素的值。以上三种为最常见的选择器,其中ID选择器是效率最高的,在可能的情况下应该尽量使用它。

    2、层次选择器

    • ancestor descendant  祖先和子孙选择器
    • parent > child           父子节点选择器
    • prev + next                同级别选择器
    • prev ~ siblings         过滤选择器

    举例:

    <div id="divTest">
            <input type="text" value="投资" />
            <input id="next" type="text" />
            <input type="text"  value="担当" />
            <input type="text" title="学习" value="学习" />
            <a>1</a>
            <a>2</a>
    </div>
    
    //得到div中的a标签内容 结果为12
    jQuery("#divTest a").text();
    //输出div直接子节点 结果为投资
    jQuery("#divTest>input").val();
    //输出id为next的后一个同级别元素 结果为担当
    jQuery("#next+input").val();
    //同上,并且是有title的元素 结果为学习
    jQuery("#next~[title]").val();
    

    3、基本过滤选择器

    • :first                       找到第一元素
    • :last                       找到最后一个元素
    • :not(selector)      去除与给定选择器匹配的元素
    • :even                     匹配索引值为偶数的元素 从0开始计数
    • :odd                       匹配索引值为奇数的元素 从0开始计数
    • :eq(index)             匹配一个给定索引值元素 从0开始
    • :gt(index)              匹配大于给定索引值元素
    • :lt(index)               匹配小于给定索引值元素
    • :header                 选择h1,h2,h3一类的标签 (目前没用过)
    • :animated             匹配正执行动画效果的元素 (目前没用过)

    举例:

    <div id="divTest">
        <ul>
            <li>投资</li>
            <li>理财</li>
            <li>成熟</li>
            <li>担当</li>
            <input type="radio" value="学习" checked="checked" />
            <input type="radio" value="不学习" />
        </ul>
    </div>
    
    //第一个li内容 结果为投资
    jQuery("li:first").text();
    //最后一个li内容 结果为担当
    jQuery("li:last").text();
    //input未被选中的值 结果为不学习
    jQuery("li input:not(:checked)").val();
    //索引为偶数的li 结果为投资 成熟
    jQuery("li:even").text();
    //索引为奇数的li 结果为理财 担当
    jQuery("li:odd").text();
    //索引大于2的li的内容 结果为担当
    jQuery("li:gt(2)").text();
    //索引小于1的li的内容 结果为投资
    jQuery("li:lt(1)").text();
    

    4、内容过滤器

    • :contains(text)              匹配包含给定文本的元素
    • :empty                        匹配所有不包含子元素或者文本的空元素
    • :has(selector)              匹配含有选择器所匹配的元素

    举例:

    <div id="Test">
        <ul>
            <li>hyip投资</li>
            <li>hyip</li>
            <li></li>
            <li>理财</li>
            <li><a>投资</a></li>
        </ul>
    </div>   
    
    //包含hyip的li的内容 结果为hyip投资 hyip
    jQuery("li:contains('hyip')").text();
    //内容为空的li的后一个li内容 结果为理财
    jQuery("li:empty+li").text();
    //包含a标签的li的内容 结果为投资
    jQuery("li:has(a)").text();
    

    5、可见性过滤器

    • :hidden    匹配不可见元素
    • :visible     匹配可见元素

    举例:

    <ul>
        <li>可见</li>
        <li style="display:none;">不可见</li>
    </ul>
    
    //不可见的li的内容 结果为不可见
    jQuery("li:hidden").text();
    //可见的li的内容 结果为可见
    jQuery("li:visible").text();
    

    6、属性过滤器

    • [attribute=value]                 匹配属性是给定值的元素
    • [attribute^=value]               匹配属性是以给定值开始的元素
    • [attribute$=value]              匹配属性是以给定值结束的元素
    • [attribute*=value]               匹配属性包含给定值的元素

    举例:

    <input type="text" name="hyipinvest" value="hyip投资" />
    <input type="text" name="investhyip" value="投资hyip" />
    <input type="text" name="google" value="HYIP" />
    
    //name为hyipinvest的值 结果为hyip投资
    alert(jQuery("input[name='hyipinvest']").val());
    //name以hyip开始的值 结果为hyip投资
    alert(jQuery("input[name^='hyip']").val());
    //name以hyip结束的值 结果为投资hyip
    alert(jQuery("input[name$='hyip']").val());
    //name包含oo的值 结果为HYIP
    alert(jQuery("input[name*='oo']").val());
    

    jQuery选择器就总结到这里,这些基本上都是在学习过程中遇到的,还有极少部分没有总结出来。经过一段时间实践,相信大家就能够熟练的使用jQuery选择器了。

  • 相关阅读:
    机器学习15卷积神经网络处理手写数字图片
    机器学习12卷积神经网络
    机器学习11贝叶斯处理邮件分类问题------后续
    机器学习11贝叶斯处理邮件分类问题------待更新
    机器学习10贝叶斯
    机器学习9主成分分析
    机器学习7逻辑回归实践
    机器学习8特征选择
    机器学习6逻辑回归算法
    机器学习5线性回归算法
  • 原文地址:https://www.cnblogs.com/TankMa/p/2022454.html
Copyright © 2011-2022 走看看