我想用其他div替换某些div。但我想一次做到这一切。
divs_to_replace.eq(-1).after(new_divs).end().remove();
所以我认为我应该使用replaceWith(),因为它会立即执行:
divs_to_replace.replaceWith(new_divs);
然而,这将逐个替换旧的div。所以我有很多旧的div有时候重复新的div。有没有办法可以一次完成这一切?
修改
http://jsfiddle.net/9ej2n/ (工作方案)
http://jsfiddle.net/9ej2n/1/ (期望的解决方案)
EDIT2: (..内容..)
<div class="article">
(..content..)
</div>
<div class="article">
(..content..)
</div>
<div class="article">
(..content..)
</div>
<div class="empty_article"></div>
<div class="empty_article"></div>
<div class="empty_article"></div>
<div class="empty_article"></div>
现在我通过AJAX将带有内容的新文章加载到页面中,并用这些新文章替换empty_articles。
我试图让这个例子变得简单。无论如何,这是更真实的例子。 我认为使用replaceWith()而不是之前的方法对性能会更好。
答案 0 :(得分:0)
如果您坚持使用replaceWith
,那么您可以先将它们包起来:
divs_to_replace.wrapAll("<div/>").parent().replaceWith(new_divs);
小提琴:http://jsfiddle.net/9ej2n/3/
包裹它们然后替换父母。