3

時々、次のような複数のクラスでいくつかの要素を定義しました:-

<div class="a b c"> Hi this is div with multiple classes </div>

今、私はjQueryセレクターを使用してこのdivにアクセスしたいので、私は試していました:-

var cls = "a b c"; 
$("." + cls); // Returns []

実際には、クラス名が「a」のすべての要素を検索し、次に、意味的に間違っているクラス「a」の要素内の子「b」と「c」を検索しようとしているため、意味があります。だから私はそのような要素を見つける方法を見つけました:-

var a = "mk-search-contents boundary-top";
var all = $("div"); // Assuming I know the tagname if element i am interested in

for (var i=0; i<all.length; i++) {
    if (all.get(i).className == a) { console.log(all.get(i)); break; }
}

そしてそれは私に正しい答えを与えましたが、私はこれが機能している理由とjQueryを使用してそのような要素を選択する方法を理解できませんでした。

4

2 に答える 2

5

このセレクターを使用するだけです:

$('.a.b.c')

classNameすべてのクラス名をスペースで区切って表示します( "ab c")。ただし、cssおよびjqueryセレクターの場合、「abc」を使用することはできません。

あなたがしたことは

$('.a b c')

これは、「クラスaの要素のb要素のc要素」を意味します。

于 2012-10-03T10:08:23.417 に答える
0

以下のセレクターを試して、3つのクラスすべてに一致させてください

$('.a.b.c')

3つのうちのいずれかに一致させたい場合

$('.a,.b,.c')
于 2012-10-03T10:12:38.523 に答える