4

私はhtml要素にデータ属性を持っています<button data-verified=false>Update</button>。データ属性のブール値があります。

<button data-verified="false">Update</button>データ属性が二重引用符で囲まれているため、次の要素との違いはありますか?

ブール値はhtmlでサポートされていますか?

4

4 に答える 4

4

ブール属性は HTML でサポートされていますが、マークアップでどのように表示されても、data-verified はその 1 つではありません。data-verified=false両方とも、文字列型と値「false」の属性を作成します。これは、JS でブール値としてテストされた場合、 truedata-verified="false"として扱われます。

これはfalse、スペースが含まれていないためです。逆の例として、data-verified=not trueは無効であり、まったく同じではありませんdata-verified="not true"

于 2013-06-06T11:58:02.167 に答える
3

値に違いはありません - ただし、次の理由により、常に属性値を引用することを好みます。

  • すっきり見える
  • メンテナンスが容易
  • すべての編集者が簡単に対処できます
  • これは標準であり、表示されるほぼすべての HTML コード例で引用された値が使用されています。

私の答えは、Do you quote HTML5 attributes?から裏付けられています。

于 2013-06-06T11:58:48.547 に答える
0

唯一の違いは、後者のみが XHTML で許可されていることです。HTML 構文では、どちらも許可されており、同等です。HTML マークアップが解析されると違いは失われ、どちらの場合も DOM には string のみが含まれますfalse

これは HTML の一般原則に従い、属性の名前にはまったく依存しません。

「ブール値」はあいまいな用語です。HTML5 では、一部の属性は「ブール属性」と呼ばれますが、これは非常に誤解を招く可能性があります。特に、値trueおよびfalseは、許可されている唯一の値ではなく、そのような値にはまったく許可されていないためです。「ブール属性」の仕様を読んで、それらが実際に何であるかを確認する必要があります。

属性を使用するdata-*場合、何を値として使用し、どのように処理するかは完全に自由です。

于 2013-06-06T13:22:12.090 に答える
0

属性には常に二重引用符が付いているのは単なる慣例だと思います。

でも。jQueryでは、メソッドを使用できます.data()。ブール値と数値を認識するのに十分スマートです。

于 2013-06-06T11:59:13.843 に答える