0

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

提前致谢。

4

3 回答 3

0

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

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

divo.parentNode.appendChild(divc);

jsFiddle

getElementsByTagName不需要使用,因为您已经引用divo了附加功能所需的引用。再次调用getElementsByTagName需要浏览器通过 DOM 进行另一次搜索(虽然很简单)。

此外,您根本不需要使用getElementsByTagName,因为您只需要一个元素并且它有一个 id。更好用getElementById

这是最有效的代码。

于 2013-09-20T06:48:59.107 回答
0

如下正确getElementByTagName,这将产生所需的结果

document.getElementsByTagName('body')[0].appendChild(divc);
于 2013-09-20T06:49:57.950 回答
0

您的原始代码的错误是最后一行缺少“s”..

document.getElementByTagName('body')[0].appendChild(divc);

应该读

document.getElementsByTagName('body')[0].appendChild(divc);
于 2013-09-20T06:50:54.717 回答