2014-11-05 25 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

相關問題