我有一堆嵌套的 HTML元素,比如 div div divA/div /div div divspanB/span/div /div/div 有没有办法只选择最里面的div,那些不包含任何其他div?请注意,div B确实有后代,但没有其他div. 澄清我的意思是选择
<div> <div> <div>A</div> </div> <div> <div><span>B</span></div> </div> </div>
有没有办法只选择最里面的div,那些不包含任何其他div?请注意,div B确实有后代,但没有其他div.
澄清我的意思是选择所有那些不包含另一个div的div,但也许是其他一些标签.
Is there a way to only select the innermost divs, those that do not contain any other divs?
您可以组合:not()
/:has()
选择器以选择不包含其他div元素的最里面的div元素:
$('div:not(:has(div))');
给定您提供的HTML,如果您不希望选择具有“A”文本节点的div,则只能选择包含其他元素的元素,在本例中为span:
Example Here
$('div:not(:has(div)):has(*)');