繰り返しの HTML 構造から3 つの既存の要素のうち 2 つを選択しようとしていますがa
、効率的な jquery セレクターの設計に問題があります。
これがマークアップです。を選択しようとしていますLink 1
が、選択できLink 2
ませんLink 3
。HTML 構造全体 ( div.container
) が複数回出現する可能性があることに注意してください。container
そうであれば、すべてのクラスのリンク 1 とリンク 2 が必要です。
注 1: マークアップを変更できません。
注2:ソリューションは完全にセレクターベースにすることをお勧めします(.find()
このセレクターは、この質問の範囲外の別のセレクターと組み合わせる必要があるため、などの呼び出しを避けます。
<div class="container">
<h1>
<a href="http://www.google.ca">Link 1</a>
</h1>
<div>
<div class="left">
<p>
<a href="http://www.google.ca">Link 2</a>
</p>
</div>
<div class="right">
<a href="http://www.google.ca">Link 3</a>
</div>
</div>
</div>
単一のcontainer
構造が発生する場合、単純なセレクターは次のとおりです。
$(".container a:lt(2)");
ただし、複数のcontainer
構造が存在する場合、上記は最初のコンテナーからリンク 1 とリンク 2 のみを選択します。
以下は 1 つ以上のcontainer
構造に対して機能しますが、私は気に入りません。複数の CSS パス セレクターを設定するのは効率が悪いようです。
$(".container h1 a, .container .left a");
詳細な言語では、「クラス内に含まれていないa
クラス内のすべてのタグを選択したいと思います。これは可能ですか?または、2 つの CSS パスを使用する上記のセレクターが最適なオプションです。container
right