[解決済み】カスタム属性 - 賛成か反対か?
質問
最近、HTMLタグにカスタム属性を使用する人が増えていますが、これは主にjavascriptコードで使用するための追加データを埋め込むためです。
カスタム属性の使用は良い習慣かどうか、またその代替案は何かについてフィードバックを集めたいと考えていました。
を簡略化できるようです。 どちらも しかし、W3Cに準拠していません。
ウェブアプリケーションでカスタムHTML属性を利用すべきでしょうか? その理由またはそうでない理由は何ですか?
カスタム属性は良いことだと思う人へ:使用する際の注意点は?
カスタムアトリビュートは良くないと思う方へ:同じようなことを実現するために、どのような代替手段を使いますか?
更新してください。 私が主に注目しているのは 推論 様々な手法の背景や、なぜある手法が良いのかのポイントなど。 同じことを実現するために、4~5種類の方法を思いつくことができると思うのです。 (隠し要素、インラインスクリプト、追加クラス、IDからの情報解析、など)。
更新2:
どうやら、HTML 5の
data-
属性機能は、ここでは多くの支持を得ています(そして、私も同意する傾向があり、それは堅実な選択肢のように見えます)。 今のところ、この提案に対する反論はあまり見当たりません。 この方法で心配するような問題や落とし穴はありますか? それとも、単に現在のW3C仕様の「無害な」無効化なのでしょうか?
どのように解決するのか?
HTML 5 では、以下のようなカスタム属性が明示的に許可されています。
data
. ですから、例えば
<p data-date-changed="Jan 24 5:23 p.m.">Hello</p>
が有効です。標準規格で正式にサポートされているので、カスタム属性には最適な選択肢だと思います。また、他の属性をハックしてオーバーロードする必要がないため、HTMLのセマンティック性を保つことができます。
出典 http://www.w3.org/TR/html5/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes
関連
-
[解決済み】Redux TypeError: 未定義のプロパティ 'apply' を読み取れない
-
[解決済み】Babel NodeJS ES6: SyntaxError: 予期しないトークンのエクスポート
-
[解決済み】react router v^4.0.0 Uncaught TypeError: 未定義のプロパティ'location'を読み取れない
-
[解決済み] Reactコンポーネントに条件付きで属性を追加するにはどうすればよいですか?
-
[解決済み] HTMLのid属性とname属性の違い
-
[解決済み] HTML5を使用したカスタムデータ属性のjQueryセレクタ
-
[解決済み] HTMLタグにカスタム属性を追加することはできますか?
-
[解決済み】JSONの代わりに生成されたHTMLを返すのは、なぜ悪い習慣なのでしょうか?それともそうなのですか?
-
[解決済み】H1テキストをロゴ画像に置き換える:SEOとアクセシビリティのための最良の方法?
-
[解決済み] ASP.NET MVCのEditorFor()のHtml属性について
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Heroku:ノードアプリで「このアプリにはデフォルトの言語が検出されませんでした」エラーがスローされる
-
[解決済み】TypeError: 'undefined'はオブジェクトではありません。
-
[解決済み】Uncaught ReferenceError: angular is not defined - AngularJSが動作しない。
-
[解決済み】Google Conversionsが動作しない - スクリプトが読み込まれない
-
[解決済み】Reactのeslintエラーはpropsの検証で見つからない
-
[解決済み】JavaScript ランタイムエラー:'$'が未定義です。
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?
-
[解決済み】Babel NodeJS ES6: SyntaxError: 予期しないトークンのエクスポート
-
[解決済み】TypeError:res.jsonは関数ではありません。
-
[解決済み] [Solved] Uncaught Invariant Violation: 前のレンダリング中よりも多くのフックをレンダリングする