我想用其他div替换某些div。但我想一次做所有的事情。
divs_to_replace.eq(-1).after(new_divs).end().remove();
所以我想我应该用replaceWith()来代替,因为它一次就这么做了:
divs_to_replace.replaceWith(new_divs);
然而,这将用新的div一个接一个地替换旧的div。所以我有很多旧的div,有很多次是重复的新div。有没有办法让我一次完成这一切?
编辑:
http://jsfiddle.net/9ej2n/(工作解决方案)
http://jsfiddle.net/9ej2n/1/(所需解决方案)
第2版:(..内容..)
<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()而不是以前的方法会更好地提高性能。
如果你坚持使用replaceWith
,那么你可以先包装它们:
divs_to_replace.wrapAll("<div/>").parent().replaceWith(new_divs);
Fiddle:http://jsfiddle.net/9ej2n/3/
将它们包裹起来,然后替换父对象。