如何根据我正在阅读的节点的元素名称创建元素?

时间:2013-11-26 22:11:18

标签: javascript html

var div = document.getElementById("foo");

for(loop = 0; loop < div.childNodes.length; loop++)
{
    document.createElement(div.childNodes[0]); // this isn't possible
}

我想创建一个元素,具体取决于我正在阅读的节点的类型。类似的东西:

if(div.childNodes[0] == "a")  // this isn't possible
    document.createElement("a");

3 个答案:

答案 0 :(得分:0)

createElement需要元素名称的字符串参数。尝试

document.createElement(div.childNodes[loop].tagName)

请参阅https://developer.mozilla.org/en-US/docs/Web/API/Element.tagName

答案 1 :(得分:0)

您可以使用elem.tagNameelem.nodeName获取元素HTML名称,并在需要时创建它。

答案 2 :(得分:0)

只需使用tagName

即可
document.createElement(div.childNodes[0].tagName);