2011-07-10 13 views
1

HTMLマークアップに注釈をつけ、マークアップ自体にマークを格納する問題に取り組むと、<mark>要素が暫定的解決策になりました。インラインで印字する:任意のHTMLマークアップに注釈を付ける/マークする

<p>The fox <mark>jumped over</mark> the lazy dog.</p> 

このアイデアを拡張して、ドキュメント内の任意のテキストをマーキング(ハイライト表示)したいと考えています。残念ながら、マークするためにこのアプローチ以下、たとえば、段落全体で、無効なHTMLを生成する(<mark>がフレージング内容を期待)し、おそらくDOM階層破る:

:スマートパーサはに上記変換かもしれませんが

<mark><p>Red Green Blue.</p> <p>Magenta, Cyan,</mark> Black</p> 

を​​

2つのマークではなく、1つの段落と2つ目の段落の断片にまたがって1つのマークがあるという事実は保持されません!

これはDOM階層を壊さない限り、これを行うにはどうすればよいでしょうか?私はDOM/JS APIを通してこのデータを照会しようとしています。

答えて

0

スマートパーサーの例に従うことが、マークアップ方式の唯一の実行可能なソリューションです。この情報はまた、潜在的可能性が

<p><mark data-mark-group="1">Red Green Blue.</mark></p> <p><mark data-mark-group="1">Magenta, Cyan,</mark> Black</p> 

:ハイライト情報(またはむしろ、元のハイライトは段落にまたがること情報)のみの機械の使用のために必要とされると仮定すると、人はその後custom data attributeグルーピングこれら別個mark要素を追加することができいくつかの種類のJSで使用されて、段落全体のハイライトをスタイルでも示していますが、私はこれを読者の練習として残します。

+0

ありがとうございます。私はHTMLの事前浄化とデータ属性と 'データセット 'の利用を終了しました。私の望むことをしますが、これが私のユースケースにとって最良のアプローチであるかどうかを考えなければなりません。 – tropsobor

関連する問題