我有一系列无序列表包含在另一个无序列表中。任务是用逗号分隔各个li标签并省略每个列表的最后一个li标签。
我可以在单个列表级别上执行此操作,即仅使用一个列表进行测试时,我能够从最后一个元素中删除最后一个逗号。但是,当我尝试应用JavaScript时会影响包装ul的最后一个li元素...
这是我的代码:
<script type="text/javascript">
$(document).ready(function () {
$('.tagsList li span').each(function () {
$(this).append(',');
});
var lTag = $('.tagsList li:last span').text().replace(',','');
$('.tagsList li:last span').text(lTag);
});
</script>
<ul class="postsList">
<li>
<ul class="tagsList">
<li><span>tag1</span></li>
<li><span>tag2</span></li>
</ul>
</li>
<li>
<ul class="tagsList">
<li><span>tag1</span></li>
<li><span>tag2</span></li>
</ul>
</li>
</ul>
答案 0 :(得分:2)
您应该使用略微修改的选择器
$('.tagsList li:not(:last-child) span').each(function () {
$(this).append(',');
});
这直接定位span
内的所有li
元素,但每个列表的最后li
除外。