使用JS克隆和插入标签

时间:2013-09-20 06:45:47

标签: javascript

我正在尝试克隆一个<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

提前致谢。

3 个答案:

答案 0 :(得分:0)

使用原始元素的parentNode函数获取其父级,然后使用appendChild添加它。

var divo = document.getElementById('divTP1');
var divc = divo.cloneNode(true);

divo.parentNode.appendChild(divc);

jsFiddle

没有必要使用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);