关于对“.replaceWith()方法返回的jQuery对象引用的是替换前的节点,而不是通过replaceWith/replaceAll方法替换后的节点“这句话的理解:
举个栗子: a.replaceAll(b) 返回的对象和值均是a,而不是b
而 a.replaceWith(b) 返回的对象是a ,但值为b的
ps:不知道有木有理解错误>_ <,欢迎大神指正!
replaceAll()函数的返回值为jQuery类型,返回表示替换内容的jQuery对象。
与被替换掉的节点关联的所有数据和事件处理器也将同时被移除。
replaceWith()函数的返回值为jQuery类型,返回当前jQuery对象本身(虽然其匹配的元素已从文档中被移除)。
与被替换掉的节点关联的所有数据和事件处理器也将同时被移除。
.replaceWith()方法
(original)原始jQuery对象被返回。该对象指向已经从 DOM 中被移除的对象,而不是指向已经取代了它的新元素。
所以:
a.replaceAll(b) 返回值是对象,是a
而 a.replaceWith(b) 返回值是对象,是a
a.replaceAll(b) 返回的值均是a,而b是对象。replace()函数和replaceAll()函数的区别就是目标和源的位置相反。而且replaceAll()函数可以替换每一个目标元素,简而言之就是替换每一个它的参数对象对应的DOM。