2012-04-20 23 views
4

我包裹任意網頁的部分(「從角色X字符Y」)有以下限制:檢測有DOM對象可以跨越被放置在一個SPAN

  1. 我不想要打破任何DOM標準(例如我不想在SPAN中包裝DIV)。
  2. 我想最大限度地減少創建的SPAN數量(所以僅僅到最低的子級別是不夠的)。

我需要知道在修改DOM之前,給定的對象是否可以合法地包含在SPAN中。

對於實例...

if(child instanceof Text) { 
// Wrap in a SPAN! 
} 
else { 
// Move along 
} 

我特別需要,反映有效SPAN-能夠含量JavaScript類的列表,這可能是能夠幫助的方法(jQuery的或香草JS)或者另一種可以實現類似目標的解決方案。

回答

3

span只允許phrasing-content。我會建議構建一個小表,其中包含構成短語內容收集和測試的所有元素。

這不是一個完美的解決方案,因爲一些段落內元素,如a標籤也可以包含非短語內容。您可能需要遞歸評估元素的內容,確保它們不包含任何內容,但它們不包含它們內部的措辭內容,然後才允許將它們包裝在span標記中。

相關問題