删除所有<a> tags with an class in an html page using jquery</a>

时间:2013-09-11 10:02:59

标签: javascript jquery html dom

如何使用jquery或javascript删除仅使用特定类的所有标记,而不删除html页面内的内容? 例如,必须转换以下内容

<a class="ab">
<ol>
<a class="ab">
<li><a class="ab">
abcde</a>
</li>

<li>
<a class="ab">
12354
</a>
</li>
</a>
</ol>
</a>

进入

 <ol>
    <li>
    abcde
    </li>
    <li>
    12354
    </li>
    </ol>

我想删除所有带有class= "ab"的标签,同时保留其中的元素和内容

5 个答案:

答案 0 :(得分:4)

使用.replaceWith(),它简洁明了,可以完美地运作:[ DEMO HERE ]

$("a.ab").replaceWith(function() { return this.innerHTML; });

<强>输出:

<ol>

      <li>

           abcde

      </li>

      <li>

           12354

      </li>

</ol>

答案 1 :(得分:2)

您可以尝试replaceWith

jQuery('.ab').each(function(){
    jQuery(this).replaceWith(jQuery(this).html());
});

演示

http://jsfiddle.net/SHReE/

jQuery Api

http://api.jquery.com/replaceWith/

答案 2 :(得分:1)

打开包装怎么样?

$('a.ab').contents().unwrap();

contents() - 获取匹配元素集中每个元素的子元素,包括文本和注释节点。

unwrap() - 从DOM中删除匹配元素集的父元素,将匹配的元素留在原位。

答案 3 :(得分:0)

试试这个

$('.ab').each(function() {

    var val = $(this).html();

    $(this).parent().html(val);
    $(this).remove();
});

答案 4 :(得分:-1)

您可以使用:

$("a .ab").each(function() {
    $(this).remove();
});