Javascript 如何在替换为新元素之前删除HTML标记?
我的代码: 下面是我使用的JavaScript: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
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]);
}