2014-11-05 24 views
0

我的代码:如何在使用新元素替换之前移除HTML标签?

http://codepen.io/vincentccw/pen/JhbgI

下面是我使用JavaScript:

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

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

    span.innerHTML = items; 
}); 

基本上我想删除一个自定义跨度默认破元素,但是,只要使用纯粹只有JavaScript 。

然而事实证明,突破要素不与我的自定义跨度

,并因此变成了这个样子更换前删除:

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

回答

0

给你http://codepen.io/anon/pen/HJkoc

只要改变

span.innerHTML = items; 

span.outerHTML = items; 

,改变这个

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

var items = '<span class="brReplace"></span>' 
+0

我试了一下,它的工作原理,但它有可能使其在IE8中工作? – Vincent1989 2014-11-06 00:56:05

+0

您是否尝试过ie8中的代码?它应该工作。但是如果你想用codepen测试它,它将不起作用,因为codepen在ie8中不起作用。 – 2014-11-06 09:58:43

+0

我明白了,谢谢你的抬头。我会试试看。 – Vincent1989 2014-11-06 10:07:26

1

此代码应该做的伎俩

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

例子: http://codepen.io/anon/pen/onmBs

编辑:添加像跨度的元素添加它后,它删除了孩子。

+0

我试图给它添加跨度,但不知何故它不起作用,break标签回来而不是跨度? http://codepen.io/vincentccw/pen/isDEH – Vincent1989 2014-11-06 00:50:08

相关问题