2012-03-07 38 views
0

data-AttributesはHTML 5に含まれていることがわかりました。マークアップでデータをシリアライズするのに適しています。ですから、data-bind = "xxx"を使っている人がいます。しかし、私はbind = "xxx"を使うことができます。スキーマや仕様に違反しているようですが、実際にはすべてのブラウザで動作します。だから私の質問は、実際には(理論ではなく)実績のような理由で、私は税関属性を使用すべきではない、bind = "xxx"のようなものだ。私はバインド属性が予約属性ではないことを知っています。カスタム属性vs data- *属性

おかげ

答えて

3

は実際に、一部のブラウザでは全く別の意味でbindを実装することができます。

あなたはノックアウトに使用していますが、新しい意味が異なると仮定します。 1つの要素でインラインCSSを変更すると、バインド属性のセレクタに基づいて別の要素で変更されるはずです。

標準を尊重し、プライベート(たとえばデータ)またはベンダー固有のプレフィックスを使用する理由があります。

+0

このページは私のページです、この属性はnobodycareattributexceptme = "xxx"、 " "(404、メモリが不足している、UIが正しく表示されていない)などの悪影響が発生します。 –

+0

これは覚えにくい(および検索する)属性名です。そのような名前を使用すると、それ以外の問題はわかりません。それは何もないことを意味しません。 –

0

私はこの質問が古いことを知っていますが、私はフレッドと同じ質問がありました。私は答えを見つけ、それを分かち合いたいと思った。別の答えで言及されている以外の任意の属性名を使用しないという実用的な理由はありません。つまり、ベンダーやブラウザメーカーは、この名前を何か他のものに使うことにします。 しかし、仕様では許可されていませんが、仕様では任意の属性名を使用するべきではないことが読み取られていますが、その使用を妨げるものは何もありません。これはフラグを表示するための米国のコードのようなものですが、ルールのセットですが、それを強制する方法はありません。 これは、HTML文書などの中で単一のbodyタグなどのように強制されるルールと対照的です。属性に任意の名前を使用することは何もないことに気付くことができます。 なので、なぜ任意の属性名を使用しないといけないのですか? W3 htmlバリデーターを渡さないので、社会的圧力があなたのコードが受け入れられないほどに増加するかもしれないと主張することができます。たとえば、SEOが苦しんでいる可能性があります。将来の雇用主は、コードが気に入らないようにします。 データを渡すために任意の属性名を自由に使用すると、確かに恥ずかしくなりました。何か私はすぐに停止します。私は今、data- *属性を使用することで、自分のコードを読みやすく、メンテナンスしやすくし、ピアレビューのためのクリーニングが簡単になると確信しています