我有一系列无序列表包裹在另一个无序列表中。任务是用逗号分隔各个 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>
最佳答案
你应该使用稍微修改过的选择器
$('.tagsList li:not(:last-child) span').each(function () {
$(this).append(',');
});
这直接针对 li
中的所有 span
元素,每个列表的最后一个 li
除外。
关于javascript - 删除每个列表中的最后一个逗号分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5934048/