我有一个链接列表。如果父级我需要在链接中附加一些内容 LI 包含另一个列表。很难选择顶级而不是子级中的级别。
<div id="container">
<ul>
<li>
<a href="#">link</a>
</li>
<li>
<a href="#">link</a>
</li>
<li>
<a href="#">link</a>
<ul>
<li>
<a href="#">link</a>
</li>
<li>
<a href="#">link</a>
</li>
</ul>
</li>
<li>
<a href="#">link</a>
</li>
<li>
<a href="#">link</a>
<ul>
<li>
<a href="#">link</a>
</li>
<li>
<a href="#">link</a>
</li>
</ul>
</li>
</ul>
</div>
JS
$('#container > ul > li').has('ul').each(function() {
$(this).find('a').append('zzz');
});
最佳答案
这是一个疯狂的想法...您可以通过定位 <a>
来纯粹使用 CSS 来完成此操作不是其父级中最后一个子级的标签 <li>
.
#container > ul > li > a:not(:last-child):after {
content: 'zzz';
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container">
<ul>
<li>
<a href="#">link</a>
</li>
<li>
<a href="#">link</a>
</li>
<li>
<a href="#">link</a>
<ul>
<li>
<a href="#">link</a>
</li>
<li>
<a href="#">link</a>
</li>
</ul>
</li>
<li>
<a href="#">link</a>
</li>
<li>
<a href="#">link</a>
<ul>
<li>
<a href="#">link</a>
</li>
<li>
<a href="#">link</a>
</li>
</ul>
</li>
</ul>
</div>
否则,您可以在 jQuery 中使用类似的选择器
$('#container > ul > li > a:not(:last-child)').append('zzz');
关于jquery - 选择列出一个项目(如果它有子列表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50284465/