Javascript 将span更改为div,但保留其内容和类,并在IE中工作

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更改为div但保留其内容和span自己的类的最佳javascript解决方案是什么。这些类被设置为可以硬编码

<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')可能重复的