daG*_*vis 3 jquery jquery-selectors
我正在创建将添加的脚本,在每个无序列表的列表元素中添加最后一个列表元素的例外 - 它应该以; .这应该发生在每个无序列表中!
就像是...
<ul>
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
<ul>
<li>d</li>
<li>e</li>
<li>f</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
...至:
<ul>
<li>a,</li>
<li>b,</li>
<li>c;</li>
</ul>
<ul>
<li>d,</li>
<li>e,</li>
<li>f;</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我的代码目前看起来像这样......
$('ul').each(function(i) {
var listsLength = $(this + 'li').length;
$(this + 'li').each(function(j) {
if (i == (listsLength - 1)) {
$(this).append(';');
} else {
$(this).append(',');
}
});
}
Run Code Online (Sandbox Code Playgroud)
我认为这个问题就是这个代码......
$( this + 'li' )
Run Code Online (Sandbox Code Playgroud)
知道如何获得相同的效果吗?
编辑:
固定它.有实际语法错误,以及和我也用我在那里Ĵ应放置.现在一切正常,这就是结果.
编辑#2:
只需使用@lonesomeday代码......它的可读性和轻量级!
你做不到this + 'li'. this在这种情况下,是一个DOM元素,而不是一个字符串.为了获得你想要的效果,你需要$(this).find('li').
你的循环也是不必要的.你可以做得更好:last-child:
$('ul li:last-child').append(';');
$('ul li:not(:last-child)').append(',');
Run Code Online (Sandbox Code Playgroud)
这两行会产生你想要的效果.
| 归档时间: |
|
| 查看次数: |
212 次 |
| 最近记录: |