jQuery Selector用于正文中的所有项目,不包括特定父项中的项目

时间:2013-08-01 10:24:42

标签: jquery jquery-selectors

假设这是DOM:

<body>
    <h1>Hello World</h1>
    <div class="tooltip">
       <div class="tooltip-hd">
         This is a Tooltip for header.
       </div>
       <div class="tooltip-bd">
         Some more info about header
       </div>
    </div>

    <div class="container">
       <h2>Subheading</h2>
       <div class="tooltip">
         <div class="tooltip-hd">
           This is a Tooltip for header.
         </div>
         <div class="tooltip-bd">
           Some more info about header
         </div>
       </div>

       <p>Contents inside subheading</p>
    </div>

</body>

我想选择体内的所有孩子,不包括“工具提示”类下的孩子

$(“body”)。find(“*”)。not(“。tooltip”)会选择项目

1 个答案:

答案 0 :(得分:1)

我不确定你为什么要这样做,但以下情况会奏效(虽然我认为它并没有很好地表现,因为它过滤了身体里的一切):

var items = $('body').find('*').filter(function() {
  return !$(this).is('.tooltip') && !$(this).closest('.tooltip').length;
}).get();

这将排除所有具有类.tooltip的元素,以及具有类.tooltip的祖先的所有元素,因此您最终会得到以下内容:

h1, div.container, h2, p