私はjQueryセレクターを持っています:
div div ul li.normal a, div div ul li.massive a
次のような論理的に同等のセレクターはありますか?
div div ul (li.normal, li.massive) a
以下よりも優れたソリューション:
$('div div ul li').filter('.normal, .massive').find('a')
私はjQueryセレクターを持っています:
div div ul li.normal a, div div ul li.massive a
次のような論理的に同等のセレクターはありますか?
div div ul (li.normal, li.massive) a
以下よりも優れたソリューション:
$('div div ul li').filter('.normal, .massive').find('a')
それは本当に個人的な好みであり、時間の経過とともにアプリケーションで何が変わると思うかについての詳細が含まれます。将来 2 つのセレクターが分岐すると予想される場合は、次のようにコンマを使用して完全に分離しておくことができます。
$('div div ul li.normal a, div div ul li.massive a')
ただし、構造を変更する計画がない場合、質問の例はうまく機能します。
セレクターの速度について疑問がある場合は、セレクターの周りにタイミング コードを配置して、どちらのセレクターが速いかを比較できます。
複数属性セレクターは、基本的に OR に相当する jQuery セレクターです。ドキュメントには次のように書かれています。
指定されたすべてのセレクターの結合結果を選択します。
要素セレクター、クラス セレクター、ID セレクター、属性セレクターなどの任意の組み合わせで使用できます。
したがって、DRY 原則に 100% 準拠したい場合、この例は最も単純化されたバージョンのように見えます。
// -----------------------[ normal || .massive ]--------
$('div div ul li').filter('.normal, .massive').find('a')