私はhtml要素にデータ属性を持っています<button data-verified=false>Update</button>
。データ属性のブール値があります。
<button data-verified="false">Update</button>
データ属性が二重引用符で囲まれているため、次の要素との違いはありますか?
ブール値はhtmlでサポートされていますか?
私はhtml要素にデータ属性を持っています<button data-verified=false>Update</button>
。データ属性のブール値があります。
<button data-verified="false">Update</button>
データ属性が二重引用符で囲まれているため、次の要素との違いはありますか?
ブール値はhtmlでサポートされていますか?
ブール属性は HTML でサポートされていますが、マークアップでどのように表示されても、data-verified はその 1 つではありません。data-verified=false
両方とも、文字列型と値「false」の属性を作成します。これは、JS でブール値としてテストされた場合、 truedata-verified="false"
として扱われます。
これはfalse
、スペースが含まれていないためです。逆の例として、data-verified=not true
は無効であり、まったく同じではありませんdata-verified="not true"
値に違いはありません - ただし、次の理由により、常に属性値を引用することを好みます。
唯一の違いは、後者のみが XHTML で許可されていることです。HTML 構文では、どちらも許可されており、同等です。HTML マークアップが解析されると違いは失われ、どちらの場合も DOM には string のみが含まれますfalse
。
これは HTML の一般原則に従い、属性の名前にはまったく依存しません。
「ブール値」はあいまいな用語です。HTML5 では、一部の属性は「ブール属性」と呼ばれますが、これは非常に誤解を招く可能性があります。特に、値true
およびfalse
は、許可されている唯一の値ではなく、そのような値にはまったく許可されていないためです。「ブール属性」の仕様を読んで、それらが実際に何であるかを確認する必要があります。
属性を使用するdata-*
場合、何を値として使用し、どのように処理するかは完全に自由です。
属性には常に二重引用符が付いているのは単なる慣例だと思います。
でも。jQueryでは、メソッドを使用できます.data()
。ブール値と数値を認識するのに十分スマートです。