考虑这个标记:
<div data-something="something">
<div>
<div>
<div data-something="something">
<div data-something="something"></div>
</div>
</div>
</div>
</div>
<div data-something="something"></div>
我想查询(不一定,但最好使用单个查询)没有任何具有“data-something”属性的子元素的所有元素。换句话说,我想查询所有具有此属性的顶级元素。请注意,所有这些元素不一定是根元素的直接后代。
所以在这种情况下查询应该产生两个元素。第一个和最后一个。第一个元素的两个子元素都应该省略。
我能想到的最佳方法大约需要 5 秒钟来处理 300 个元素,这完全不够,我什至不想展示它:)