2010-12-28 6 views
2

ツールチップのマークアップを保存する場所が必要です。私はそれが動作する、data-*属性を考えたが、私はHTMLをHTML属性に入れても構いませんか?

<a href="#" 
    title="You can edit project details like name & description" 
    data-tip="<h6>Edit Project</h6><p>You can edit project details like name &amp; description here</p>"> 
    Edit 
</a> 

答えて

3

これは問題ありません。副次的な影響は、HTML 4ではdata-*のプロパティが無効であるということです。他の既存のプロパティを使用する場合を除いて、これについて何もできません。通常、検証をパスしない場合より悪いです。

壊れたHTMLパーサーの問題を防ぐには、>&gt;をエスケープすることをお勧めします。あなたがすでにそうであるように&amp;から&のエスケープSource

&はスペースが続くので、エンティティ、歓声の@bobinceを形成していない場合)、それは有効なHTMLであるために必要である明らかに

、あなたは必見エスケープ"&quot; HTMLが破損しないようにします。

+0

実際には、この場合は '&'をエスケープしないと逃げることができます。スペース(または他のさまざまな文字)の後にエスケープされない '&'が有効です。明らかにそれは全くお勧めできませんし、XHTMLでは有効ではありませんが、エスケープされていないままにしておくことも同じです。 – bobince

+0

おそらく、ヒントの '&'は本当に '& amp;'と書かれているはずです。これは、HTMLマークアップです。アー。私はこれを属性値に隠すのではなく、別の表示/非表示の要素として含めると思います。 – bobince

0

属性は、そのカスタム属性でHTMLを微れる保持、(文字参照を含む)解析されたデータを含めることができます...その間違ったかしらや問題が発生することがあります。

私が見ることができる問題は、文字列を早く終了させることです。あなたが引用符をエンコードする限り、あなたは大丈夫でしょう。

関連する問題