data-* 属性に HTML タグを含めることができますか? 質問する

data-* 属性に HTML タグを含めることができますか? 質問する

IE<img src="world.jpg" data-title="Hello World!<br/>What gives?"/>

ベストアンサー1

私が理解している限り、ガイドラインは基本的に有効ですが、HTML エンティティを使用する方が適切です。

からHTML 4 リファレンス:

エンティティ参照は cdata 属性値内で許可されるため、属性値内でも & をエスケープする必要があります。さらに、引用符で囲まれた属性値内でこの文字に遭遇したときに、これをタグの終わりと誤って認識する古いユーザー エージェントの問題を回避するために、> を > としてエスケープする必要があります。

からHTML 5 リファレンス:

特に指定がない限り、HTML 要素の属性には、空の文字列を含む任意の文字列値を指定できます。明示的に指定されている場合を除き、このような属性に指定できるテキストに制限はありません。

したがって、@tdammersがすでに述べているように、最善の策はこれらの文字をエスケープすることです(W3Cリファレンスを引用)

  • &amp;記号を表します&
  • &lt;記号を表します<
  • &gt;記号を表します>
  • &quot;マークを表します"

HTML として使用する場合は、エンティティ値からデコードします。

おすすめ記事