我正在使用此脚本向第1个,第2个和第3个span
插入三个不同的li
。
$("ul li:eq(0)").prepend("<span>1</span>");
$("ul li:eq(1)").prepend("<span>2</span>");
$("ul li:eq(2)").prepend("<span>3</span>");
有没有办法重构此代码以消除冗余?
答案 0 :(得分:3)
如果你想对那里的所有li标签这样做:
$("ul li").each(function(i) {
$(this).prepend("<span>" + (i + 1) + "</span>");
});
如果有超过三个li标签,并且您只希望它完成前三个:
$("ul li:lt(3)").each(function(i) {
$(this).prepend("<span>" + (i + 1) + "</span>");
});
在这里工作jsFiddle:http://jsfiddle.net/jfriend00/qhgad/
答案 1 :(得分:1)
或者你可以这样做
$("ul li").prepend( function(index, html){
return ("<span>" + (index+1) + "</span>");
});