for循环内部的jquery函数

时间:2010-10-19 03:44:08

标签: javascript jquery loops

我试图在jquery函数中重复一些东西。我尝试了一个for循环,但似乎它不喜欢语法。 例如,我有变量

var number = 2;

现在我有

$('tr').html('<td id="'+number+'"></td>');

我想要做的是从0循环到数字(0,1,2),以便最终我得到3。 感谢

2 个答案:

答案 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;
    }
)