当我使用这两位代码时,我会遇到不同的结果。对我来说,它们应该等效。有什么区别?
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/