标签: 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。
答案 0 :(得分:4)
有没有办法只选择最里面的div,那些不包含任何其他div的那些?
您可以合并:not() / :has()个选择器,以便选择不包含其他div元素的最里面的div元素:
:not()
:has()
div
$('div:not(:has(div))');
根据您提供的HTML,如果您不希望选择带有“A”文本节点的div,则只能选择包含其他元素的元素,在本例中为{{1} }:
Example Here
span
答案 1 :(得分:3)
可以做类似的事情:
$('div').not(':has(div)').css('color','red')
解释是模糊的,但不是100%明确这是预期的结果
的 DEMO 强>