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

时间:2014-11-05 10:41:37

标签: javascript html css replace

我的代码:

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;
});

基本上我想删除带有自定义范围的默认break元素,但仅使用纯JavaScript。

然而事实证明,在替换我的自定义范围

之前,不会删除中断元素

因此变得像这样:

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

2 个答案:

答案 0 :(得分: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

编辑:要添加像span这样的元素,请在删除子项后添加它。

答案 1 :(得分: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>'