7

多くの場合、jquery を使用して複数の要素を一度に選択する必要があります...これを行うには、通常、選択したいすべての要素にクラスを追加し、jquery を使用してクラスごとに選択します。

これは悪い習慣ですか、代わりに html 5 data 属性のようなものを使用する必要がありますか?

4

4 に答える 4

6

引数を渡す必要がない一般的なリファレンスとしては問題ないと思います。

つまり、すべての.flashing要素にフラッシュ効果が適用されます。終わり。

複数のクラスや「データクラス」などを使い始めると手に負えなくなりますclass="flashing-15times onhoveronly"

引数または変数の受け渡しを開始する必要がある場合は、データ属性または他のOOPメソッドに移行する必要があります。

于 2012-09-05T17:32:11.473 に答える
3

それは素晴らしい習慣です。それがクラス属性の目的です。クラス属性は、CSSの一部ではなく、共通のプロパティを持つオブジェクトのグループにフラグを立てるために、HTMLのセマンティックレイヤーの一部であることを常に覚えておいてください。HTMLのセマンティクスとCSSの表現の間のバインディングを提供するのはCSSセレクターです。そして、共通のプロパティを持つオブジェクトのグループにフラグを立てることは、まさにあなたがしていることです。

jqueryアクションを適用するために一緒に収集するオブジェクトのコレクションに意味のある名前を使用していることを確認してください。

于 2012-09-05T20:43:43.547 に答える
2

ここではw3仕様が役立つと思います:

http://www.w3.org/TR/2011/WD-html5-20110525/elements.html#embedding-custom-non-visible-data-with-the-data-attributes

お金の引用:

カスタム データ属性は、ページまたはアプリケーション専用のカスタム データを格納するためのものであり、これ以上適切な属性や要素はありません。

次に、音楽トラックの長さを含むデータを使用して並べ替えを行う音楽サイトの例を使用します。

data- は、セレクターとして意図されたクラス/ID に対して、これらのタイプの使用のために予約されているようです。

この件について考えるのに役立つ別の記事は次のとおりです

于 2012-09-05T17:49:23.027 に答える
2

これは、以前は標準的な方法でした。ただし、現在の標準的な方法は、data- 属性を使用することです。たとえば、特定の要素にツールチップを表示するプラグインを作成する場合は、次のようにします。

<div data-tooltip="This is a div"></div>

jquery hass 属性セレクターを使用して、data- 属性を持つ要素を選択できます。

$("[data-tooltip]").each(function(){
    generate_tooltip($(this));
});
于 2012-09-05T17:27:30.383 に答える