为了账号安全,请及时绑定邮箱和手机立即绑定

如下代码,关于Jquery appendTo()函数的问题,麻烦帮忙看看~

如下代码,关于Jquery appendTo()函数的问题,麻烦帮忙看看~

梵蒂冈之花 2022-03-31 11:11:31
看书看到的。代码1:var $options = $('#select1 option:selected');var $remove = $options.remove();$remove.appendTo('#select2');代码2: var $options = $('#select1 option:selected');$options .appendTo('#select2');这两段代码为什么等效?我看appendTo文档,也没说自带删除啊?!
查看完整描述

3 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

没太理解你说的自带删除的意思!从你的这个例子来看,这两段代码确实等效。 原理:代码1中,首先返回了一个选中的option对象,然后将该对象remove()操作,这时它返回了一个jQuery对象并存入$remove对象中,最后将$remove对象内嵌进#select2中。这里的$remove==$options代码2中,直接将选中的option对象,追加到了#select2中。大概你所谓的自带删除,是指#select1中的option项没有了的意思吧。这其实属于元素的移动。值得注意的一点是:使用remove()方法,返回的jQuery对象,与原始对象的区别在于,它们只保留了元素本身,其他的比如绑定的事件,附加的数据等都会被移除。

查看完整回答
反对 回复 2022-04-06
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

append或者appendTo的意思是移动DOM,而不是复制DOM
  原理:代码1中,首先返回了一个选中的option对象,然后将该对象remove()操作,这时它返回了一个jQuery对象并存入$remove对象中,最后将$remove对象内嵌进#select2中。这里的$remove==$options代码2中,直接将选中的option对象,追加到了#select2中。大概你所谓的自带删除,是指#select1中的option项没有了的意思吧。这其实属于元素的移动。值得注意的一点是:使用remove()方法,返回的jQuery对象,与原始对象的区别在于,它们只保留了元素本身,其他的比如绑定的事件,附加的数据等都会被移除。
  先移除DOM,再把移除的DOM移动到某处,
  和代码2,直接移动DOM到某处,是一回事

查看完整回答
反对 回复 2022-04-06
?
qq_笑_17

TA贡献1818条经验 获得超7个赞

append或者appendTo的意思是移动DOM,而不是复制DOM
所以说
代码1,先移除DOM,再把移除的DOM移动到某处,和代码2,直接移动DOM到某处,是一回事

查看完整回答
反对 回复 2022-04-06
  • 3 回答
  • 0 关注
  • 166 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信