javascript问题:获取左边select的option添加到右边的select后,左边的元素被移除了?怎么会这样?

当选中左边元素后,点击按钮触发事件后,右边的select增加了元素,但是为什么左边的select中的元素会减少呢?我并没有移除左边select中的元素啊代码:... 当选中左边元素后,点击按钮触发事件后,右边的select增加了元素,但是为什么左边的select中的元素会减少呢?我并没有移除左边select中的元素啊

代码:
展开
 我来答
山上有花
2014-05-09 · 计算机,互联网,多读书,多运动。
山上有花
采纳数:252 获赞数:780

向TA提问 私信TA
展开全部
这种情况是正确的
当 appChild() 方法的参数是一个文档中已存在的元素时,相当于移动了这个元素
如果要复制这个元素应使用 cloneNode() 方法
如果要同时复制子元素应使用参数 cloneNode(true)

<html>
<head>
<style type="text/css">
#red{width:100%;height:100px;border:1px solid #F00;margin:10px auto;}
#blue{width:100%;height:100px;border:1px solid #00F;}
</style>
</head>
<body>
<div id="red">
<p id="p_test">This is a paragraph</p>
</div>
<div id="blue">
</div>
<button id="btn1">append</button>
<button id="btn2">clone</button>
<script type="text/javascript">
window.onload = function(){
document.getElementById("btn1").onclick = function(){
var oldobj = document.getElementById("p_test");
document.getElementById("blue").appendChild(oldobj);
}
document.getElementById("btn2").onclick = function(){
var newobj = document.getElementById("p_test").cloneNode(true);
document.getElementById("blue").appendChild(newobj);
}
}
</script>
</body>
</html>
yugi111
2014-05-11 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
每一个都是一个DOM对象,如果移动,就代表移动了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
前端报错
2014-05-10 · 前端开发技术分享,分析
前端报错
采纳数:1573 获赞数:7026

向TA提问 私信TA
展开全部
obj.appendChild( anotherObj );的作用就是“挖东补西”。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式