通过Jquery从html中删除严格的强/粗文本标记

时间:2016-11-14 11:13:11

标签: jquery

目前在使用jquery删除强标记方面存在轻微问题。

我想在强标签之间保留文字,例如: 之前:

<strong>This is a text</strong>

后:

this is a text

和代码:

    $("div.row.ordertype").each(function(){
           if(($(this).text()).length>0){
            console.log($(this).html());
            var test = $("<strong>","<strong />").contents().unwrap();
            console.log(test);
           }    
    })

任何想法

2 个答案:

答案 0 :(得分:3)

使用以下jQuery

$('strong').contents().unwrap();

为了提高性能,请始终使用以下内容:

var strong = document.getElementsByTagName('strong');
while(strong.length) {
    var parent = strong[0].parentNode;
    while( strong[0].firstChild ) {
        parent.insertBefore(strong[0].firstChild, strong[0]);
    }
     parent.removeChild(strong[0]);
}

这比任何jQuery解决方案都要快。

答案 1 :(得分:2)

应该是

$("strong").contents().unwrap();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<strong>This is a text</strong>

选择器$("<strong>","<strong />")创建新元素,但不选择元素