用于选择"最后在层次结构中的CSS或jQuery解决方案"元素?

时间:2015-03-04 19:02:50

标签: jquery html css

我有一堆嵌套的HTML元素,比如

<div>
   <div>
      <div>A</div>
   </div>
   <div>
      <div><span>B</span></div>
   </div>
</div>

有没有办法只选择最里面的div,那些不包含任何其他div的?请注意,div B确实有后代,但没有其他div。

澄清我的意思是选择所有那些不包含其他div但可能包含其他div的div。

2 个答案:

答案 0 :(得分:4)

  

有没有办法只选择最里面的div,那些不包含任何其他div的那些?

您可以合并:not() / :has()个选择器,以便选择不包含其他div元素的最里面的div元素:

$('div:not(:has(div))');

根据您提供的HTML,如果您不希望选择带有“A”文本节点的div,则只能选择包含其他元素的元素,在本例中为{{1} }:

Example Here

span

答案 1 :(得分:3)

可以做类似的事情:

$('div').not(':has(div)').css('color','red')

解释是模糊的,但不是100%明确这是预期的结果

DEMO