在HTML元素中替换<b>与<span>等文本标记的嵌套?</span> </b>

时间:2014-04-21 19:38:55

标签: javascript jquery html css

我有一个内部HTML的div,看起来很像:

<b>First <span class="red">se</span></b><span class="red">cond third fo</span>urth fift<span class="large">h sixth</span>

此标记可以包含任何文本格式标记,因为它是文本编辑库的输出。

对于我正在处理的事情,我需要删除任何存在的嵌套。因此,理想情况下,上面的标记字符串应该变为:

<span style="font-weight:bold">First</span> <span style="font-weight:bold;color:red">se</span><span style="font-weight:bold">cond third fo</span><span>urth fift</span><span style="font-size:20px;">h sixth</span>

为了给出一些上下文,顶部的标记是Wysihtml5文本编辑器的输出,这非常有用,但我需要标记类似于第二个能够

1 个答案:

答案 0 :(得分:0)

试试这个:

$(document).ready(function(){
    $('b').each(function(){ 
        var text = $(this).html();
        $(this).replaceWith('<span style="font-weight:bold;color:red">' + text + '</span>');
    });
});

小提琴:http://jsfiddle.net/uQyL3/1/