繁体   English   中英

除了一个div和子节点之外,如何选择DOM中的所有元素

[英]How to select all elements in DOM apart from one div and the children

我需要使用JQuery / JS选择DOM中的所有元素,除了一个div。 唯一的问题是,我还需要在选择中免除div的孩子。 例如:

<li>1</li>
<li>2</li>
<div>
  3
  <li>3.1</li>
  <li>3.2</li>
</div>

$('*').not('div and children');

//should give me li 1 and 2, but not div 3 or li 3.1/3.2

我已经尝试过.not()关键字,但它只选择父div,并且子节点仍然受到影响。

您可以选择所有的元素$('body *')而不是div ,而不是孩子div.not('div, div *')

 $('body *').not('div, div *').css('color', 'red'); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <li>1</li> <li>2</li> <div> 3 <li>3.1</li> <li>3.2</li> </div> 

$('*').not('div, div > li');

 console.log($('body *').not('div, div li, script')); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <li>1</li> <li>2</li> <div> 3 <li>3.1</li> <li>3.2</li> </div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM