本文介绍了Javascript:如何更改节点名称?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
例如,我有以下HTML:
For example I have this HTML:
<body>
<div>Text</div>
</body>
我想更改 div
到 p
之类的东西。
And I would like to change the div
to something else like p
.
这是我尝试过但不起作用的:
This is what I have tried but doesn't works:
var div = document.getElementsByTagName("div")[0]; // Get Element
div.nodeName = "p"; // Change It's Node Name to P
请不要使用任何库,并且我真的不想替换带有一个新p的实际div:)
Please no libraries, and I don't really want to replace the actual div with a new p :)
推荐答案
您不能只更改元素。您必须创建一个新的。例如:
You cannot just change an element. You have to create a new one. E.g.:
var div = document.getElementsByTagName("div")[0];
var p = document.createElement('p');
p.innerHTML = div.innerHTML;
div.parentNode.replaceChild(p, div);
但这会导致无效的标记,如果原始元素包含的节点不能成为新元素的后代节点。
But this could lead to invalid markup, if the original element contains nodes that cannot be descendants of the new node.
参考:,
注意:可以在。
这篇关于Javascript:如何更改节点名称?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!