我需要使用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,而且孩子们仍然受到影响。
答案 0 :(得分:3)
您可以选择$('body *')
但不是div
的所有元素,而不是div
的子.not('div, div *')
$('body *').not('div, div *').css('color', 'red');
&#13;
<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>
&#13;
答案 1 :(得分:0)
$('*').not('div, div > li');
答案 2 :(得分:0)
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>