如何防止 jQuery 选择器包含嵌套元素?

Posted

技术标签:

【中文标题】如何防止 jQuery 选择器包含嵌套元素?【英文标题】:How do I prevent a jQuery Selector from including nested elements? 【发布时间】:2010-09-17 14:09:58 【问题描述】:

我是 jQuery 新手,所以希望有一个简单的答案。

我的 html 类似于:

<table id="dataTable">
    <tr> <!-- I want this row -->
        <td>...</td>
    <tr>
    <tr>
        <td>
           <table>
               <tr> <!-- I do not want this row -->
                   <td>...</td>
               </tr>
           </table>
        </td>
    <tr>
</table>

我正在使用类似这样的 jQuery:

$("#dataTable tr").length;

我希望长度等于 2,但它返回 3(包括嵌套表中的

。)我的问题是:如何防止选择第三个 ?

我知道我可以将 ignorethisrow 类添加到最后一行并将其从结果中排除,但我更喜欢允许我控制选择引擎的 深度 的选项搜索。

【问题讨论】:

【参考方案1】:

我相信语法:

$("#dataTable > tr").length

意思是“只是tr's on a next level”。

【讨论】:

以上是关于如何防止 jQuery 选择器包含嵌套元素?的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery 和 CSS 选择器选择嵌套元素的共同父/祖先

元素的Javascript选择器/非CSS选择器[关闭]

如何使用 jQuery 选择具有特定文本的中间节点:包含选择器?

用sass选择器嵌套的时候,如何表示直接子元素

jquery内容选择器(匹配包含指定选择器的元素)

jQuery的内容选择器