Javascript 将span更改为div,但保留其内容和类,并在IE中工作
将span更改为div但保留其内容和span自己的类的最佳javascript解决方案是什么。这些类被设置为可以硬编码Javascript 将span更改为div,但保留其内容和类,并在IE中工作,javascript,jquery,html,Javascript,Jquery,Html,将span更改为div但保留其内容和span自己的类的最佳javascript解决方案是什么。这些类被设置为可以硬编码 <span class="my class"> <p class="content"> DYNAMIC CONTENT HERE </p> </span> 这里的动态内容 我想用js把它改成 <div class="my class"> <p class="content">
<span class="my class">
<p class="content">
DYNAMIC CONTENT HERE
</p>
</span>
这里的动态内容
我想用js把它改成
<div class="my class">
<p class="content">
DYNAMIC CONTENT HERE
</p>
</div>
这里的动态内容
在IE上使用replaceWith()似乎失败了,因为它不受支持
谢谢。这是一个使用纯javascript的示例:
var span = document.querySelector('.my.class'),
div = document.createElement('div');
div.setAttribute('class', span.getAttribute('class'));
div.innerHTML = span.innerHTML;
span.parentNode.insertBefore(div, span);
span.parentNode.removeChild(span);
根据,IE也支持.insertBefore()
和.removeChild()
,以及get和set属性方法
请注意,这不处理附加到原始文件中节点的事件处理程序或其他javascript对象。为什么不使用CSS使span像div一样工作?为什么您认为
replaceWith
不适用于IE?具体来说,你需要支持哪个版本的IE?8.9? 10? 11? 边缘?@Andrewhitaker在这里有一个很好的答案:。它们还包括如何将其作为插件使用,以便您只需调用$('.my.class').changeElementType('div')代码>可能重复的