• 06jQuery-02-层级选择器


    因为DOM结构就是层级结构,所以我们经常要根据层级关系进行选择。

    1、层级选择器

    $('ancestor descendant'),选择祖先中的子孙,中间留空格:
    $('form[name=upload] input'); 
    //选择name属性为upload的表单里的<input>

    多层选择也是允许的:
    $('form.test p input'); // 在form表单选择被<p>包含的<input>

    2、子选择器

    $('parent>child'),类似层级选择器,但是限定了层级关系必须是父子关系,就是<child>节点必须是<parent>节点的直属子节点。
    <!-- HTML结构 -->
    <div class="testing">
        <ul class="lang">
            <li class="lang-javascript">JavaScript</li>
            <li class="lang-python">Python</li>
            <li class="lang-lua">Lua</li>
        </ul>
    </div>
    
    //jQuery选择器
    $('ul.lang>li.lang-javascript'); // 可以选出[<li class="lang-javascript">JavaScript</li>]
    $('div.testing>li.lang-javascript'); // [], 无法选出,因为<div>和<li>不构成父子关系

    3、过滤器

    过滤器一般不单独使用,它通常附加在选择器上,帮助我们更精确地定位元素。观察过滤器的效果:
    $('ul.lang li'); // 选出JavaScript、Python和Lua 3个节点
    
    $('ul.lang li:first-child'); // 仅选出JavaScript
    $('ul.lang li:last-child'); // 仅选出Lua
    $('ul.lang li:nth-child(2)'); // 选出第N个元素,N从1开始
    $('ul.lang li:nth-child(even)'); // 选出序号为偶数的元素
    $('ul.lang li:nth-child(odd)'); // 选出序号为奇数的元素

    4、表单选择器

    :input
    可以选择<input>,<textarea>,<select>和<button>

    :file
    可以选择<input type="file">,和input[type=file]一样

    :checkbox
    可以选择复选框,和input[type=checkbox]一样

    :radio
    可以选择单选框,和input[type=radio]一样

    :focus
    可以选择当前输入焦点的元素,例如把光标放到一个<input>上,用$('input:focus')就可以选出

    :checked
    选择当前勾上的单选框和复选框,用这个选择器可以立刻获得用户选择的项目,如$('input[type=radio]:checked')

    :enabled
    可以选择可以正常输入的<input>、<select>等,也就是没有灰掉的输入

    :disabled
    和:enabled正好相反,选择那些不能输入的。

    :visible
    所有可见的

    :hidden
    所有隐藏的


  • 相关阅读:
    iOS开发基础知识--碎片7
    python---ORM之SQLAlchemy(3)外键与relationship的关系
    python---ORM之SQLAlchemy(2)外键使用
    python---ORM之SQLAlchemy(1)
    python---自定义字段验证
    mysql -- 慢日志使用
    mysql -- 索引补充
    mysql -- 动态获取结果集(重点)
    mysql -- 逻辑语句
    mysql -- 事务
  • 原文地址:https://www.cnblogs.com/deng-cc/p/6681419.html
Copyright © 2020-2023  润新知