Javascript 如何在替换为新元素之前删除HTML标记?

Javascript 如何在替换为新元素之前删除HTML标记?,javascript,html,css,replace,Javascript,Html,Css,Replace,我的代码: 下面是我使用的JavaScript: var items = "<span class=\"brReplace\"></span>", spans = document.getElementsByTagName( 'br' ); [].slice.call( spans ).forEach(function ( span ) { span.innerHTML = items; }); var items=“”, span=document.ge

我的代码:

下面是我使用的JavaScript:

var items = "<span class=\"brReplace\"></span>",
spans = document.getElementsByTagName( 'br' );

[].slice.call( spans ).forEach(function ( span ) {

    span.innerHTML = items;
});
var items=“”,
span=document.getElementsByTagName('br');
[].slice.call(span).forEach(函数(span){
span.innerHTML=项目;
});
基本上,我希望通过自定义范围删除默认的break元素,但仅使用纯JavaScript

但是,事实证明,在替换为“我的自定义跨度”之前,不会删除打断元素

因此变成这样:

<br>
  <span class=\"brReplace\"></span>
</ br>

给你

换衣服

span.innerHTML = items;

也改变了这一点

var items = "<span class=\"brReplace\"></span>"
var items=“”

var项目=“”

这段代码应该可以做到这一点

br = document.getElementsByTagName('br');
for (i = br.length - 1; i >= 0; i--) {
    br[i].parentNode.removeChild(br[i]);
}
例如:


编辑:添加元素,如span,请在删除子元素后添加它。

我尝试将span添加到其中,但不知怎的,它不起作用,并且返回的是中断标记,而不是span?我试过了,它可以工作,但是有可能让它在IE8中工作吗?你试过IE8中的代码吗?它应该会起作用。但是,如果您试图在codepen中测试它,它将不起作用,因为codepen在ie8中不起作用。
var items = '<span class="brReplace"></span>'
br = document.getElementsByTagName('br');
for (i = br.length - 1; i >= 0; i--) {
    br[i].parentNode.removeChild(br[i]);
}