理解对不对?

来源:5-2 DOM替换replaceWith()和replaceAll()

星yee_爷

2017-03-22 19:52

关于对“.replaceWith()方法返回的jQuery对象引用的是替换前的节点,而不是通过replaceWith/replaceAll方法替换后的节点“这句话的理解:

    举个栗子: a.replaceAll(b) 返回的对象和值均是a,而不是b

                而 a.replaceWith(b) 返回的对象是a ,但值为b的

ps:不知道有木有理解错误>_ <,欢迎大神指正!

写回答 关注

3回答

  • 夜莺z
    2017-03-31 10:31:16
    已采纳

    replaceAll()函数的返回值为jQuery类型,返回表示替换内容的jQuery对象。

    与被替换掉的节点关联的所有数据和事件处理器也将同时被移除。


    replaceWith()函数的返回值为jQuery类型,返回当前jQuery对象本身(虽然其匹配的元素已从文档中被移除)。

    与被替换掉的节点关联的所有数据和事件处理器也将同时被移除。



    传说中的高手

    这个说法,我可不可以这样理解,jQuery对象是在调用时才使用选择表达式进行匹配的?

    2018-02-09 22:54:04

    共 2 条回复 >

  • 夜莺z
    2017-03-31 10:36:36

    .replaceWith()方法  

    (original)原始jQuery对象被返回。该对象指向已经从 DOM 中被移除的对象,而不是指向已经取代了它的新元素。

    所以:

    a.replaceAll(b) 返回值是对象,是a

    而 a.replaceWith(b) 返回值是对象,是a


  • qq_Walkinginthe_2
    2017-03-22 21:24:54

    a.replaceAll(b) 返回的值均是a,而b是对象。replace()函数和replaceAll()函数的区别就是目标和源的位置相反。而且replaceAll()函数可以替换每一个目标元素,简而言之就是替换每一个它的参数对象对应的DOM。


jQuery基础(二)—DOM篇

jQuery第二阶段开启DOM修炼,了解创建、插入、删除与替换

114012 学习 · 590 问题

查看课程

相似问题