Javascript 如何选择DOM中除一个div和子元素之外的所有元素

Javascript 如何选择DOM中除一个div和子元素之外的所有元素,javascript,jquery,html,css,dom,Javascript,Jquery,Html,Css,Dom,我需要使用JQuery/JS选择DOM中的所有元素,除了一个div。唯一的问题是,我还需要在选择中排除divs子元素。例如: <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 an

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

<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
  • 1
  • 二,
  • 3.
  • 3.1
  • 3.2
  • $('*')。不是('div和children'); //应该给我li 1和2,但不是div 3或li 3.1/3.2
    我尝试了
    .not()
    关键字,但它只选择父div,子div仍然受到影响。

    $('*').not('div, div > li');
    
    console.log($('body*').not('div,div li,script')
    
    
    
  • 一,
  • 二,
  • 3.
  • 3.1
  • 3.2

  • 您可以使用
    $('body*')
    选择所有元素,但不能选择
    div
    ,也不能选择
    div
    的子元素。不能('div,div*')

    $('body*').not('div,div*').css('color','red')
    
    
    
  • 一,
  • 二,
  • 3.
  • 3.1
  • 3.2

  • 您不能在
    ul
    中使用
    div
    。这在html中是无效的。@Mohammad,我知道,只是一个例子:-)我实际上是在引导模式上做的,只是忽略了直系子代,或是它们下面的所有子代?