我正在尝试克隆一个<div>
html标记并使用JavaScript将其插入原始标记之后,但我无法修复它。你能帮帮我吗?
JavaScript代码:
var divo = document.getElementsByTagName('div')[0];
var divc = divo.cloneNode(true);
document.getElementByTagName('body')[0].appendChild(divc);
这是小提琴:http://jsfiddle.net/8Kab6
提前致谢。
答案 0 :(得分:0)
使用原始元素的parentNode
函数获取其父级,然后使用appendChild
添加它。
var divo = document.getElementById('divTP1');
var divc = divo.cloneNode(true);
divo.parentNode.appendChild(divc);
没有必要使用getElementsByTagName
,因为您对附加功能已经需要divo
的引用。再次调用getElementsByTagName
需要浏览器通过DOM进行另一次搜索(albiet一个简单的搜索)。
此外,您根本不需要使用getElementsByTagName
,因为您只需要一个元素且它具有ID。最好使用getElementById
。
这是最有效的代码。
答案 1 :(得分:0)
如下所示纠正getElementByTagName
,这将产生所需的结果
document.getElementsByTagName('body')[0].appendChild(divc);
答案 2 :(得分:0)
原始代码的错误是最后一行缺少“s”..
document.getElementByTagName('body')[0].appendChild(divc);
应该阅读
document.getElementsByTagName('body')[0].appendChild(divc);