我试图在jquery函数中重复一些东西。我尝试了一个for循环,但似乎它不喜欢语法。 例如,我有变量
var number = 2;
现在我有
$('tr').html('<td id="'+number+'"></td>');
我想要做的是从0循环到数字(0,1,2),以便最终我得到3。 感谢
答案 0 :(得分:7)
可能是更好的方法,但这应该有效。
var loops = [1,2,3];
$.each(loops, function(index, val) {
$('tr').html('<td id="myCell' + index + '"></td>');
});
这也应该有效(常规JS):
var i;
for(i=0; i<3; i++) {
$('tr').html('<td id="myCell' + i + '"></td>');
}
注意我如何用“myCell”这个词作为前缀id,以确保XHTML符合性。 (感谢@Peter Ajtai指出这一点。)
修改强>
我刚注意到另一个问题 - 您正在使用 .html 函数添加单元格。但 .html 会替换匹配元素的整个html。所以你只会得到最后一个细胞。 :)
您可能正在寻找 .append 功能:
$('tr').append('<td id="myCell' + i + '"></td>');
编辑2 - 在myCell之前而不是之后移动双引号。
答案 1 :(得分:3)
使用匿名函数的选项。
$('TR').html(
function(){
var content='';
for (var i=0; i<=2; i++ ){
content=content+'<td id="id_'+i+'"></td>';
}
return content;
}
)