zoukankan      html  css  js  c++  java
  • 【转】 jQuery学习笔记:选择器(Selectors)

    【转】 jQuery学习笔记:选择器(Selectors)

    一、基本
    1、#id
    根据给定的ID匹配一个元素。
    如果选择器中包含特殊字符,可以用两个斜杠转义。
    返回值 Element
    参数
    id (String) : 用于搜索的,通过元素的 id 属性中给定的值
    示例:

    $(document).ready(function() {
        
    var oDiv = $("#myDiv");
        
    if (oDiv)
            alert(oDiv.html());
    });

    文档片段:

    <div id="notMe"><p>id="notMe"</p></div>
    <div id="myDiv">id="myDiv"</div> 

    有特殊字符的情况:
    文档片段:

    <span id="foo:bar">test1</span>
    <span id="foo[bar]">test2</span>

    jquery代码:

    Code

    2、element
    根据给定的元素名匹配所有元素
    返回值 Array<Element>
    参数
    element (String) : 一个用于搜索的元素。指向 DOM 节点的标签名。
    示例:

    Code

    文档片段:

    <div>DIV1</div>
    <div>DIV2</div>
    <span>SPAN</span>

    3、.class
    根据给定的类匹配元素
    返回值 Array<Element>
    参数
    class (String) : 一个用以搜索的类。一个元素可以有多个类,只要有一个符合就能被匹配到。
    示例:

    Code

    文档片段:

        <div class="notMe">
            div class="notMe"
    </div>
        
    <div class="myClass">
            div class="myClass"
    </div>
        
    <span class="myClass">span class="myClass"</span>

    4、*
    匹配所有元素,多用于结合上下文来搜索。
    返回值 Array<Element>
    示例:

    Code

    5、selector1,selector2,selectorN
    将每一个选择器匹配到的元素合并后一起返回。
    可以指定任意多个选择器,并将匹配到的元素合并到一个结果内。
    返回值 Array<Element>
    参数
    selector1 (Selector) : 一个有效的选择器
    selector2 (Selector) : 另一个有效的选择器
    selectorN (Selector) : (可选) 任意多个有效选择器
    示例:

    Code

    二、层级
    1、ancestor descendant
    在给定的祖先元素下匹配所有的后代元素
    返回值 Element
    参数
    ancestor (Selector) : 任何有效选择器
    descendant (Selector) : 用以匹配元素的选择器,并且它是第一个选择器的后代元素
    示例:

    Code

    文档片段:

    Code

    2、parent > child
    在给定的父元素下匹配所有的子元素
    返回值 Array<Element>
    参数
    parent (Selector) : 任何有效选择器
    child (Selector) : 用以匹配元素的选择器,并且它是第一个选择器的子元素
    示例:

    Code

    3、prev + next
    匹配所有紧接在 prev 元素后的 next 元素
    返回值 Array<Element>
    参数
    prev (Selector) : 任何有效选择器
    next (Selector) :一个有效选择器并且紧接着第一个选择器
    示例:

    Code

    文档片段:

    Code

    4、prev ~ siblings
    匹配 prev 元素之后的所有 siblings 元素(sibling是“兄弟”的意思)
    返回值 Array<Element>
    参数
    prev (Selector) : 任何有效选择器
    siblings (Selector) : 一个选择器,并且它作为第一个选择器的同辈
    示例:

    Code

    三、简单
    1、:first
    匹配找到的第一个元素
    返回值 Element
    示例:

    Code

    文档片段:

    <table>
      
    <tr><td>Header 1</td></tr>
      
    <tr><td>Value 1</td></tr>
      
    <tr><td>Value 2</td></tr>
    </table>

    2、:last
    匹配找到的最后一个元素
    返回值 Element
    示例:

    Code

    3、:not(selector)
    去除所有与给定选择器匹配的元素
    在jQuery 1.3中,已经支持复杂选择器了(例如:not(div a) 和 :not(div,a))
    返回值 Array<Element>
    参数
    selector (Selector) : 用于筛选的选择器
    示例:

    Code

    4、:even
    匹配所有索引值为偶数的元素,从 0 开始计数
    返回值 Array<Element>
    示例:

    Code

    5、:odd
    匹配所有索引值为奇数的元素,从 0 开始计数
    返回值 Array<Element>
    示例:

    Code

    6、:eq(index)
    匹配一个给定索引值的元素
    返回值 Element
    参数
    index (Number) : 从 0 开始计数
    示例:

    $(document).ready(function() {
        
    var ele = $("tr:eq(1)"); //查找第二行
        if (ele)
            alert(ele.html());
    });

    7、:gt(index)
    匹配所有大于给定索引值的元素
    返回值 Array<Element>
    参数
    index (Number) : 从 0 开始计数
    示例:

    Code

    8、:lt(index)
    匹配所有小于给定索引值的元素
    返回值 Array<Element>
    参数
    index (Number) : 从 0 开始计数
    示例:

    Code

    9、:header
    匹配如 h1, h2, h3之类的标题元素
    返回值 Array<Element>
    示例:

    //给页面内所有标题加上背景色
    $(document).ready(function() {
        $(
    ":header").css("background""Red");
    });

    10、:animated
    匹配所有正在执行动画效果的元素
    返回值 Array<Element>
    示例:

    Code

    文档片段:

    Code

    四、内容
    1、:contains(text)
    匹配包含给定文本的元素
    返回值 Array<Element>
    参数
    text (String) : 一个用以查找的字符串
    示例:

    Code

    2、:empty
    匹配所有不包含子元素或者文本的空元素
    返回值 Array<Element>
    示例:

    Code

    3、:has(selector)
    匹配含有选择器所匹配的元素的元素
    返回值 Array<Element>
    参数
    selector (Selector) : 一个用于筛选的选择器
    示例:

    Code

    4、:parent
    匹配含有子元素或者文本的元素
    返回值 Array<Element>
    示例:

    Code

    文档片段:

    Code

    五、可见性
    1、:hidden
    匹配所有的不可见元素,input 元素的 type 属性为 "hidden" 的话也会被匹配到
    返回值 Array<Element>
    示例:

    Code

    2、:visible
    匹配所有的可见元素
    返回值 Array<Element>
    示例:

    Code

    By the way,可见性本质上是对应css里的visibility和display的属性设置,读者可自行试验。
    六、属性
    1、[attribute]
    匹配包含给定属性的元素。注意,在jQuery 1.3中,前导的@符号已经被废除!如果想要兼容最新版本,只需要简单去掉@符号即可。
    返回值 Array<Element>
    参数
    attribute (String) : 属性名
    示例:

    Code

    2、[attribute=value]
    匹配给定的属性是某个特定值的元素
    返回值 Array<Element>
    参数
    attribute (String) : 属性名
    value (String) : 属性值。引号在大多数情况下是可选的。但在遇到诸如属性值包含"]"时,用以避免冲突。
    示例:

    Code

    文档片段:

    <input type="checkbox" name="newsletter" value="Hot Fuzz" />
    <input type="checkbox" name="newsletter" value="Cold Fusion" />
    <input type="checkbox" name="accept" value="Evil Plans" />
     

    3、[attribute!=value]
    匹配所有不含有指定的属性,或者属性不等于特定值的元素。
    此选择器等价于:not([attr=value])
    要匹配含有特定属性但不等于特定值的元素,请使用[attr]:not([attr=value])
    返回值 Array<Element>
    参数
    attribute (String) : 属性名
    value (String) : 属性值。引号在大多数情况下是可选的。但在遇到诸如属性值包含"]"时,用以避免冲突。
    示例:

    Code

    4、[attribute^=value]
    匹配给定的属性是以某些值开始的元素
    返回值 Array<Element>
    参数
    attribute (String) : 属性名
    value ( String) : 属性值。引号在大多数情况下是可选的。但在遇到诸如属性值包含"]"时,用以避免冲突。
    示例:

    Code

    5、[attribute$=value]
    匹配给定的属性是以某些值结尾的元素
    返回值 Array<Element>
    参数
    attribute (String) : 属性名
    value ( String) : 属性值。引号在大多数情况下是可选的。但在遇到诸如属性值包含"]"时,用以避免冲突。
    示例:

    Code

    6、[attribute*=value]
    匹配给定的属性是以包含某些值的元素
    返回值 Array<Element>
    参数
    attribute (String) : 属性名
    value ( String) : 属性值。引号在大多数情况下是可选的。但在遇到诸如属性值包含"]"时,用以避免冲突。
    示例:

    Code

    7、[selector1][selector2][selectorN]
    复合属性选择器,需要同时满足多个条件时使用。
    返回值 Array<Element>
    参数
    selector1 (Selector) : 属性选择器
    selector2 (Selector) : 另一个属性选择器,用以进一步缩小范围
    selectorN (Selector) : 任意多个属性选择器
    示例:

    Code

    七、子元素
    1、:nth-child(index/even/odd/equation)
    匹配其父元素下的第N个子或奇偶元素
    对比:':eq(index)' 只匹配一个元素,而这个将为每一个父元素匹配子元素。:nth-child从1开始的,而:eq()是从0算起的!
    使用方式:
    :nth-child(even)
    :nth-child(odd)
    :nth-child(3n)
    :nth-child(2)
    :nth-child(3n+1)
    :nth-child(3n+2)
    返回值 Array<Element>
    参数
    index (Number) : 要匹配元素的序号,从1开始
    示例:

    Code

    文档片段:

    <ul>
      
    <li>John</li>
      
    <li>Karl</li>
      
    <li>Brandon</li>
    </ul>
    <ul>
      
    <li>Glen</li>
      
    <li>Tane</li>
      
    <li>Ralph</li>
    </ul>

    2、:first-child
    匹配第一个子元素
    ':first' 只匹配一个元素,而此选择符将为每个父元素匹配一个子元素
    返回值 Array<Element>
    示例:

    Code

    3、:last-child
    匹配最后一个子元素
    ':last'只匹配一个元素,而此选择符将为每个父元素匹配一个子元素
    返回值 Array<Element>
    示例:

    Code

    4、:only-child
    如果某个元素是父元素中唯一的子元素,那将会被匹配
    如果父元素中含有其他元素,那将不会被匹配。
    返回值 Array<Element>
    示例:

    Code

    八、表单
    1、:input
    匹配所有 input, textarea, select 和 button 元素
    返回值 Array<Element>
    示例:

    Code

    文档片段:

    Code

    ps:select下面有option的,竟然直接alert出了option的value,奇怪的结果!(按照定义这个应该是jquery的一个bug)
    2、:inputType
    匹配所有的type为inputType的input元素(hidden比较特殊,单独举例)
    返回值 Array<Element>
    示例:

    Code

    3、:hidden
    匹配所有不可见元素,或者type为hidden的元素
    返回值 Array<Element>
    示例:

    Code

    九、表单对象属性
    1、:enabled
    匹配所有可用元素返回值 Array<Element>
    示例:

    Code

    2、:disabled
    匹配所有不可用元素
    返回值 Array<Element>
    示例:

    Code

    3、:checked
    匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)
    返回值 Array<Element>
    示例:

    Code

    4、:selected
    匹配所有选中的option元素
    返回值 Array<Element>
    示例:

    Code
  • 相关阅读:
    Python Twisted系列教程8:使用Deferred的诗歌下载客户端
    Python Twisted系列教程7:小插曲,Deferred
    Python Twisted系列教程6:抽象地利用Twisted
    Python Twisted系列教程5:由Twisted支持的诗歌客户端
    Python Twisted系列教程4:由Twisted支持的诗歌客户端
    Python Twisted系列教程2:异步编程初探与reactor模式
    多线程--future模式初体验
    【java工具类】生成二维码
    Maven手动命令行导入ojdbc6
    【javascript】生成二维码
  • 原文地址:https://www.cnblogs.com/Javastudy-note/p/13812648.html
Copyright © 2011-2022 走看看