我想重复jQuery内部函数的一些功能。我尝试了一个for循环,但它似乎不喜欢语法。 比如我有可变for循环里面jquery函数
var number = 2;
现在我有
$('tr').html('<td id="'+number+'"></td>');
我想要做的是循环从0到号码(0,1,2),以便在最后,我结束了有3。 谢谢
我想重复jQuery内部函数的一些功能。我尝试了一个for循环,但它似乎不喜欢语法。 比如我有可变for循环里面jquery函数
var number = 2;
现在我有
$('tr').html('<td id="'+number+'"></td>');
我想要做的是循环从0到号码(0,1,2),以便在最后,我结束了有3。 谢谢
有可能一个更好的办法,但这应该工作。
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>');
}
注意我怎么前缀ID字 '了myCell',确保XHTML合规性。 (感谢@Peter Ajtai指出了这一点)。
编辑
我只注意到另外一个问题 - 你正在使用的的.html功能添加的细胞。但.html将替换匹配元素的整个html。所以你只会结束最后一个单元格。 :)
你可能寻找.append功能:
$('tr').append('<td id="myCell' + i + '"></td>');
EDIT 2 - 前了myCell移动的双引号,而不是之后。
继承人使用匿名函数的选项。
$('TR').html(
function(){
var content='';
for (var i=0; i<=2; i++ ){
content=content+'<td id="id_'+i+'"></td>';
}
return content;
}
)
for循环会起作用,但您应该注意您声明'i'的位置。此外,这些ID无效。他们不能以数字开头。 – 2010-10-19 03:53:33
@Peter Ajtai - 好点(答案更新)。没有注意他分配的ID,只是for循环的性质。 – RPM1984 2010-10-19 03:56:56
这个解决方案的问题(我之前尝试过,但根据您的建议再次测试)是最终在