当我使用这两位代码时,我会遇到不同的结果。对我来说,它们应该等效。有什么区别?

var mapString = '<map id="map"><area shape="poly" coords="52,21,92,21,92,196,52,196"></map>';

//  First option:
$('#map').replaceWith(mapString);

//  Second option:
var mapParent = $('#map').parent();
$('#map').remove();
$(mapString ).appendTo(mapParent);


第一个选项将现有地图DOM元素替换为表示为字符串的新地图元素。第二个选项将删除现有的地图DOM元素,然后追加一个新的地图元素。

这些不应该是相同的...吗?调用replaceWith时,我的地图区域似乎没有刷新。

编辑:第一个不会导致浏览器重绘第二个吗?

最佳答案

结果不同,因为:


replaceWith():被替换的元素将位于相同位置(例如其父级的第二个子级)
appentTo():附加元素将是其父元素的最后一个子元素!

关于javascript - $ .replaceWith()和$ .remove + $ .appendTo之间的区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26939591/

10-11 12:28