18

一部のコントロールに属性を追加することがあります。好き:

<a href id="myLlink" isClimber="True">Chris Sharma</a>

私はそれが有効なhtmlではないことを知っています。しかし、それは場合によっては私を助けます。

これは悪い習慣と見なされますか?私の友人は、イントラネット環境では問題ないと言っていますが、インターネットでは検索エンジンでは友好的ではないかもしれません。

それが良い習慣ではない場合、ベストプラクティスは何ですか?

ありがとう

4

6 に答える 6

22

HTML5 doctypeを使用している場合は、有効なデータ属性を追加できます。

したがって、次のようなものが有効になります

<a href id="myLlink" data-isClimber="True">Chris Sharma</a>
于 2010-04-30T12:28:36.803 に答える
9

はい。それは悪い習慣と考えられています。HTML(4.0の場合)は正常に検証されません。代わりに、次のようなクラスを追加します。

<a href id="myLlink" class="climber" >...</a>

複数のクラスを持つことができることを忘れないでください:

<a href id="myLlink" class="climber girl pretty" >...</a>

また、CSSまたはJQueryを使用して、これらのクラスに基づいてコンテンツを選択し、組み合わせに基づいてスタイルを選択的にオーバーライドできます。

a.climber             { color: brown; }
a.climber.girl        { color: red; }
a.climber.girl.pretty { color: pink; }
于 2010-04-30T12:33:01.930 に答える
3

それはベストでも良い習慣でもありません。

私はあなたがいくつかのjavascript処理のためにそれを必要とすると思います。私は通常、「js」というプレフィックスが付いたカスタムの「クラス」属性を追加することで問題を解決します。

もう1つの解決策は、JQueryのデータの保存/データの取得機能、または生成されたHTML全体にエコーすることを意味する他のフレームワークと同等の機能を使用することです。

于 2010-04-30T12:32:37.100 に答える
2

これは無効なXHTMLであり、これは悪いことです。主に、有効なもので自慢できないためですXHTML;)すべての主流のブラウザと検索エンジンは、余分な属性を喜んで無視します。XHTMLを再び有効にするために、名前空間を追加することもできます。

<html xmlns:my="http://example.com">
  <!-- SNIP -->
  <a href id="myLlink" my:isClimber="True">Chris Sharma</a>
  <!-- SNIP -->
</html>

それは完全に有効なXHTMLです。ただし、W3C Validatorはそれでも検証を拒否します(私は思います)。それは彼らのXMLパーサーの欠点です。このような名前空間を認識しないパーサーの場合、my:isClimberは引き続きとして扱われますisClimber。しかし、これは有効なXMLであり、最終的にはそれが重要であることがわかっているので、安心できますね;)

于 2010-04-30T12:41:31.220 に答える
0

jqueryを使用して、

保存する:$('#element_id')。data('extra_tag'、'extra_info');

取得するには:$('#element_id')。data('extra_tag');

これも@[http://stackoverflow.com/a/16985773/2458978][1]に投稿されました

[1]:一部のHTMLタグの任意のデータを保存する方法

于 2013-06-07T13:57:28.273 に答える
-2

それ自体が悪い習慣だとは思いません。確かに非常に便利で、xml環境で行うのとまったく同じです。さらに重要なのは、これらのカスタム属性に保持する情報の性質と、それらがコード内でどのように使用されるかです。

より良い代替手段は、たとえばjQueryのdata()機能など、さまざまな方法でデータを保持することです。

于 2010-04-30T12:31:22.820 に答える