gpt4 book ai didi

jquery - jQuery 中的此关键字 + DOM 元素

转载 作者:行者123 更新时间:2023-12-01 00:43:39 24 4
gpt4 key购买 nike

我正在创建脚本,该脚本将在每个无序列表的列表元素处添加 ,,最后一个列表元素除外 - 它应该以 ; 结尾。每个无序列表都应该发生这种情况!

这就像...

<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>

<ul>
<li>d</li>
<li>e</li>
<li>f</li>
</ul>

...至:

<ul>
<li>a,</li>
<li>b,</li>
<li>c;</li>
</ul>

<ul>
<li>d,</li>
<li>e,</li>
<li>f;</li>
</ul>

我的代码现在看起来像这样......

$('ul').each(function(i) {
var listsLength = $(this + 'li').length;
$(this + 'li').each(function(j) {
if (i == (listsLength - 1)) {
$(this).append(';');
} else {
$(this).append(',');
}
});
}

我认为问题在于这段代码......

$( this + 'li' )

知道如何获得相同的效果吗?

编辑:

已修复。实际上也存在语法错误,而且我在应该放置 j 的地方使用了 i 。现在一切正常,这里是 the outcome .

编辑#2:

只需使用@lonesomeday代码...它非常可读且轻量级!

最佳答案

你不能这样做this + 'li'。在这种情况下,this 是一个 DOM 元素,而不是字符串。要获得您想要的效果,您需要 $(this).find('li')

你的循环也是不必要的。您可以使用 :last-child 做得更好:

$('ul li:last-child').append(';');
$('ul li:not(:last-child)').append(',');

这两行将达到您想要的效果。

关于jquery - jQuery 中的此关键字 + DOM 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6062468/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com