Jquery appendTo()函数

看书看到的。代码1:var$options=$('#select1option:selected');var$remove=$options.remove();$remo... 看书看到的。
代码1:var $options = $('#select1 option:selected');
var $remove = $options.remove();
$remove.appendTo('#select2');

代码2: var $options = $('#select1 option:selected');
$options .appendTo('#select2');
这两段代码为什么等效?我看appendTo文档,也没说自带删除啊?!
展开
 我来答
阿刚炖蛋
2012-06-26 · TA获得超过3004个赞
知道大有可为答主
回答量:1789
采纳率:92%
帮助的人:968万
展开全部
没太理解你说的自带删除的意思!从你的这个例子来看,这两段代码确实等效。 原理:代码1中,首先返回了一个选中的option对象,然后将该对象remove()操作,这时它返回了一个jQuery对象并存入$remove对象中,最后将$remove对象内嵌进#select2中。这里的$remove==$options代码2中,直接将选中的option对象,追加到了#select2中。大概你所谓的自带删除,是指#select1中的option项没有了的意思吧。这其实属于元素的移动。值得注意的一点是:使用remove()方法,返回的jQuery对象,与原始对象的区别在于,它们只保留了元素本身,其他的比如绑定的事件,附加的数据等都会被移除。
287658222
2015-06-24 · TA获得超过2.3万个赞
知道大有可为答主
回答量:5304
采纳率:77%
帮助的人:1025万
展开全部
  append或者appendTo的意思是移动DOM,而不是复制DOM
  原理:代码1中,首先返回了一个选中的option对象,然后将该对象remove()操作,这时它返回了一个jQuery对象并存入$remove对象中,最后将$remove对象内嵌进#select2中。这里的$remove==$options代码2中,直接将选中的option对象,追加到了#select2中。大概你所谓的自带删除,是指#select1中的option项没有了的意思吧。这其实属于元素的移动。值得注意的一点是:使用remove()方法,返回的jQuery对象,与原始对象的区别在于,它们只保留了元素本身,其他的比如绑定的事件,附加的数据等都会被移除。

  先移除DOM,再把移除的DOM移动到某处,
  和代码2,直接移动DOM到某处,是一回事
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yzy_130
2012-06-26 · TA获得超过810个赞
知道小有建树答主
回答量:402
采纳率:0%
帮助的人:486万
展开全部
append或者appendTo的意思是移动DOM,而不是复制DOM

所以说

代码1,先移除DOM,再把移除的DOM移动到某处,和代码2,直接移动DOM到某处,是一回事

希望对您有帮助~
By Billskate
追问
刚才,在别的地方看到一回答,说appendTo操作多个对象时是复制,单个时是移动。这说法靠谱么?以上代码我多选也是可以移动的。怎么算“多个”
追答
应该没有这回事情~
多个DOM一起操作也应该是移动的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
goshimo
2012-06-26 · TA获得超过524个赞
知道小有建树答主
回答量:883
采纳率:0%
帮助的人:445万
展开全部
帮你理解:
A本来在m处,现在把A从m处移动到n处,那么m处当然就没有苹果了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式