【发布时间】:2010-02-05 11:40:35
【问题描述】:
我需要将 DOM 元素转换为不同的类型(如在 HTML 标记名称中,a 在本例中为 p),但仍保留所有原始元素属性。在这种情况下,它们是否对新类型有效并不重要。
关于如何做到这一点的任何建议?
我已经研究过只是创建一个新元素并复制属性,但这并非没有它自己的复杂性。在 Firefox 中,DOMElement.attributes 仅包含具有值的属性,但在 IE 中,它会报告该元素的所有可能属性。 attributes 属性本身是只读的,因此无法复制。
【问题讨论】:
-
创建一个新的副本,除了更改类型,然后删除旧的?
-
@thephpdeveloper 我不明白,那只是克隆元素并替换它,而不是更改 HTML 元素类型。
-
“元素类型”是指标签名称(例如“div”)吗?
-
@J-P 是(为什么是不是合法评论?!?)
-
这可能是最糟糕的技术之一,但
parent.innerHTML = parent.innerHTML.replace("<old", "<new")怎么样?
标签: javascript jquery dom