我的页面中有这样的内容:
<div id="test">
<div class="item">Test</div>
<div class="item">Test</div>
<div class="item">Test</div>
<div class="item">Test
<div class="container">
<div class="item">Test2</div>
<div class="item">Test2</div>
<div class="item">Test2</div>
</div>
</div>
</div>
现在我想做这样的事情:
$.each(this.find(".item"), function(index, value) {
$(value).html("Test" + $(value).html());
});
当然我想在循环中做更多的东西,但这只是一个例子。当我这样做时,所有“Test”都会变成“TestTest”,但“Test2”不会变成“TestTest2”。有没有办法选择这些项目,即使有另一个项目?顺便说一句:每个项目都可能有一个conatiner。即使是那些已经嵌套的人。
答案 0 :(得分:3)
对$(value).html("Test" + ...)
的调用实际上删除并重新添加了元素,因此迭代的任何后代元素(具有类item
)已经从DOM中删除。
尝试以下方法:
this.find(".item").each(function(index, value) {
$(value).prepend("<span>Test</span>");
});