是否可以使用jquery?
将自动数值类添加到列表中HTML:
<ul id="list">
<li>Element 1</li>
<li>Element 2</li>
<li>Element 3</li>
<li>Element 4</li>
<li>Element 5</li>
</ul>
我想得到这样的东西:
<ul id="list">
<li class="1">Element 1</li>
<li class="2">Element 2</li>
<li class="3">Element 3</li>
<li class="4">Element 4</li>
<li class="5">Element 5</li>
</ul>
希望有一个可用的解决方案: - )
<ul id="list">
<li class="item1">Element x</li>
<li class="item2">Element c</li>
<li class="item3">Element a</li>
<li class="item4">Element d</li>
<li class="item5">Element f</li>
</ul>
答案 0 :(得分:19)
$("#list li").each(function(i) {
this.addClass("item"+(i+1));
});
这里正在行动
每条评论更新,如示例链接一样:
$(document).ready(function() {
$("#list li").each(function(i) {
$(this).addClass("item" + (i+1));
});
});
但我认为初始代码应该可以添加:
this = $(this);
但不确定。
答案 1 :(得分:5)
$("#list").children().each(function(i) {
$(this).addClass("prefix_" + (i+1));
});
答案 2 :(得分:2)
CSS 2有一些与数字类名相关的特殊规则。请参阅grammar,特别是G.1中的“class”,G.2中的“nmstart”以及G.3中的最后一个项目符号。
使用类.c1到.c5:
$('#list li').each(function(){
$(this).addClass( 'c' + $(this).text().substr(-1) );
});
请注意,这假定<li>
的最后一个字符是数字。您可能需要针对确切的用例进行调整(可能使用正则表达式)。
答案 3 :(得分:1)
对于jQuery 1.4.x:
$("#list > li").addClass(function(i){return "item" + (i + 1);});
答案 4 :(得分:0)
$('ul#list li').each(function(){
$(this).addClass( $(this).text().split(' ')[1] );
});
答案 5 :(得分:0)
<ul id="list">
<li class="item1">Element x</li>
<li class="item2">Element c</li>
<li class="item3">Element a</li>
<li class="item4">Element d</li>
<li class="item5">Element f</li>
</ul>