each()仅适用于第一个元素(动态创建)

时间:2015-11-19 20:20:39

标签: jquery each

这是我使用#bir动态创建元素的方式。

setInterval(function(){
    baseBody.attr("id", "bir");
    baseBody.after("<td id=eki><p id=test'>Test</p></td>");

    $('#bir').each(function() {
        $(this).after("test");
    });
}, 1000);

因此,该字段为testtesttesttesttesttest...

...但仅限于第一个元素。为所有元素正确创建#bir

这里有什么问题?

2 个答案:

答案 0 :(得分:2)

这会按id选择内容:

$('#bir')

由于页面上只有一个元素只有id ,因此每个元素只循环一次。我认为jquery只返回它找到的第一个,因为在找到一个之后没有理由进一步查看,因为id是唯一的。如果你希望找到多个元素,你应该循环一个类或类似的东西。

答案 1 :(得分:1)

我得到了它的工作。我做的是:

...
    $(baseBody).each(function() {
        $(this).after("test");
    });
...

当我提到id时,它只是jQuery对象。

谢谢你们!