【问题标题】:Help understanding JQuery Attribute Equals Selector帮助理解 JQuery 属性等于选择器
【发布时间】:2010-09-29 00:35:35
【问题描述】:

我想在<div id="myid"> 中找到<td role="foo" class="one two three four">

这两个选择器起作用:

$('#myid td[role=foo]')

$('#myid .two')

但是这个没有,为什么?

$('#myid .two td[role=foo]')

【问题讨论】:

    标签: jquery jquery-selectors


    【解决方案1】:

    因为选择器字符串is a descendant-selector中有一个空格。

    你需要这样做:

    $('#myid td.two[role=foo]')
    

    按照您的方式,您正在搜索<td role="foo"> 元素,它们是.two后代

    【讨论】:

    • @Nick - 这样更有效率吗?
    【解决方案2】:

    因为你的选择器:

    $('#myid .two td[role=foo]')
    

    正在寻找td[role=foo] .two 的元素 id 为#myid 的元素。

    您正在使用后代选择器,而不是寻找 td[role=foo].two,我认为这正是您想要的。

    【讨论】:

      【解决方案3】:

      你想要:

      $("#myid td[role=foo].two")...
      

      这个选择器:

      $('#myid .two td[role=foo]')
      

      意思是:找到ID为“myid”的元素。从中找到所有具有“二”类的后代。从这些元素中找到所有后代 <td> 元素,其角色属性的值为“foo”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-17
        • 2011-04-03
        • 2011-04-27
        • 2011-03-03
        • 1970-01-01
        相关资源
        最近更新 更多