使用jQuery清理HTML代码?

时间:2013-12-16 17:57:37

标签: jquery html

使用jQuery,有谁知道如何清理这个标记:

<span style="font-size:19px">
  <span style="font-size:20px">
    <span style="font-size:21px">
      Something
    </span>
  </span>
</span>

...并将其转换为:

<span style="font-size:21px">
  Something
</span>

如果有人能指出我正确的方向,我们将不胜感激。或者如果有人知道任何可以从HTML中删除无用标签的库,那也会很棒。


更新

以上代码只是一个例子。例如,可能有20个包裹的跨度......

3 个答案:

答案 0 :(得分:8)

只需unwrap所有span标记,只留下内部span标记。

$('span').unwrap();

FIDDLE

答案 1 :(得分:0)

你也可以这样做:

$('span').each(function() {
    if($(this).prop('tagName') == $(this).children(":first").prop('tagName')) {
       $(this).children(":first").unwrap();
    }
});

答案 2 :(得分:-1)

它不是一个jQuery解决方案,但我不知道你是否需要它来实时处理你的HTML。否则,您可以使用此在线工具:http://www.dirtymarkup.com/它将转换您的代码:

<span style="font-size:19px">
  <span style="font-size:20px">
    <span style="font-size:21px">
      Something
    </span>
  </span>
</span>

成:

<span style="font-size: 19px">Something</span>