删除<div>和<p>标签</p> </div>

时间:2014-02-06 09:42:59

标签: javascript jquery html

我有以下HTML代码。

<ul class="system_messages">
    <li class="green">
        <span class="ico"></span>
        <strong class="system_title">
            <div class="ui-widget actionMessage">

                <!--The following <div> along with <p> is required to be removed-->

                <div class="ui-state-highlight ui-corner-all" style="padding: 0.3em 0.7em; margin-top: 20px;"> 
                    <p><span class="ui-icon ui-icon-info" style="float: left; margin-right: 0.3em;"></span>
                        <span>Updation at id 33 has been made successfully.</span></p>
                </div>

            </div>
        </strong>
    </li>
</ul>

我需要删除评论<div><p>中的指定标记,但不应删除<div>的两个子标记,即两个<span>标记。这可能吗?

最外面的<div>代码(<div class="ui-widget actionMessage">)是动态生成的。

4 个答案:

答案 0 :(得分:1)

您是否可以使用JavaScript或jQuery?如果是这样,jQuery解决方案可能如下所示:

$('span.ui-icon.ui-icon-info').unwrap().unwrap();

答案 1 :(得分:1)

是的,您可以删除divp代码而不删除span代码。

这是移除后的小提琴:

http://jsfiddle.net/gdSgS/

由于删除了与div关联的类和<p>标记,因此对齐方式会有一些变化。如有必要,您可以通过将类应用于其他一些兼容标记来保留它。

答案 2 :(得分:1)

function cleanDIVP($text){
        $strip_tags = "p|div";
        $text = preg_replace("#<\s*\/?(".$strip_tags.")\s*[^>]*?>#im", '', $text);
        return $text;
    }

答案 3 :(得分:1)

您可以使用setInterval函数来展开span元素。

setInterval(function (){ $('.system_title span').unwrap();  }, 10)