0

「.current」という名前のクラスのdivlayerがたくさんあります。ユーザーが何をするかに応じて、クラスを削除するものと、再び取得するものがあります。これは正常に機能しますが、1つのdivレイヤーのみがクラス「.current」を持っている場合にイベントを発生させたいのです。1つの要素だけがクラス電流を持っているかどうかをどのように検出できますか?例えば

if ($('#div4').hasClass('.current')) {
    alert("fire me something");
}

「唯一のもの」hasClassのようなもの。

4

6 に答える 6

8

currentイベントコールバックで、クラスを持つdivの数を確認するだけです。

if ($('#div4').hasClass('current') && $('div.current').length === 1) {
    ...do stuff...
}

でのみ使用currentしている場合divは、を使用できます$('.current').length === 1

于 2013-02-07T17:07:43.653 に答える
0

cssクラスをセレクターとして使用して、長さを取得できるはずです。

if($(".current").length == 1 ) {
   alert('fire me something');
}
于 2013-02-07T17:08:09.157 に答える
0

http://api.jquery.com/size/またはhttp://api.jquery.com/length/を参照してください

$(".current").length
$(".current").size()   *deprecated as of v1.8   

どちらかがあなたにカウントを与えます。クラスチェックを調整してカウントを確認し、その1の場合はアクションを実行するときはいつでも

于 2013-02-07T17:08:32.370 に答える
0

私はあなたができると「思います」:

if($('.current').length == 1) { //DO }

セレクターは要素の配列を返すと思います。

于 2013-02-07T17:08:54.217 に答える
0

エラー構文があります!条件に「)」を追加する必要があります。そして、calss selecotr( "。")を使用しないでください。それはうまくいくでしょう:

if($('#div4').hasClass('current')){
        alert("fire me something");
 }
于 2013-02-07T17:09:07.097 に答える
0

長さを使用すると、クラス.currentのインスタンスがいくつあるかを確認できます。例えば

var mycount = $(".current").length;
alert(mycount);

次に、結果を使って好きなことをします。

于 2013-02-07T17:09:20.597 に答える