4

次の制約を使用して、任意の Web ページのセクション (「文字 X から文字 Y まで」) を SPAN でラップしています。

  1. DOM 標準を破りたくありません (たとえば、DIV を SPAN でラップしたくありません)。
  2. 作成される SPAN の数を最小限に抑えたい (したがって、可能な限り最下位の子レベルに移動するだけでは十分ではありません)。

DOM を変更する前に、特定のオブジェクトを合法的に SPAN に含めることができるかどうかを知る必要があります。

例えば...

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

特に、有効な SPAN 対応コンテンツ、役立つ可能性のあるメソッド (jQuery またはバニラ JS)、または同様の目標を達成する別のソリューションを反映する JavaScript クラスのリストが必要です。

4

1 に答える 1

3

phrasing-contentspanのみを許可します。phrasing-contentコレクションを構成するすべての要素の小さなテーブルを作成し、これに対してテストすることをお勧めします。

aタグのような一部の段落内要素には、フレージング以外のコンテンツも含まれる可能性があるため、これは完全な解決策ではありません。span要素をタグでラップする前に、要素の内容を再帰的に評価して、要素自体にフレージング コンテンツ以外が含まれていないことを確認する必要がある場合があります。

于 2012-04-20T15:39:01.333 に答える