2013-12-16 60 views
5

使用jQuery,沒有人知道我可以清理這個標記:使用jQuery清理HTML代碼?

<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中刪除無用標籤的庫,那也會很棒。


UPDATE

上面的代碼只是一個例子。可能有20個包裝跨度,例如...

回答

8

只是unwrap所有span標籤,這將只留下內寬度標籤。

$('span').unwrap(); 

FIDDLE

+1

這會不會刪除所有的跨度? – Andrew

+0

@Andrew - 不,內標不會被刪除 – adeneo

+0

@Andrew - 看看小提琴 - 只有兩個外跨度被刪除:) – Advocation

-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> 
0

你也可以這樣做:

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