我有以下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">
)是动态生成的。
答案 0 :(得分:1)
您是否可以使用JavaScript或jQuery?如果是这样,jQuery解决方案可能如下所示:
$('span.ui-icon.ui-icon-info').unwrap().unwrap();
答案 1 :(得分:1)
是的,您可以删除div
和p
代码而不删除span
代码。
这是移除后的小提琴:
由于删除了与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)