如果只有一个div有类,则为event

时间:2013-02-07 17:05:06

标签: javascript jquery html

我有很多名为“.current”的divlayers。取决于用户做了什么删除课程,有些人会再次获得它。这工作正常,但如果只有一个div层具有类“.current”,我想要触发的事件。如何检测是否只有一个元素具有当前类? 例如

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

类似“是唯一的”hasClass。

6 个答案:

答案 0 :(得分:8)

在您的事件回调中,只需检查具有current类的div的数量:

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

如果您只在current上使用div,那么您可以使用$('.current').length === 1

答案 1 :(得分:0)

你应该能够使用css类作为选择器,然后得到长度:

if($(".current").length == 1 ) {
   alert('fire me something');
}

答案 2 :(得分:0)

请参阅http://api.jquery.com/size/http://api.jquery.com/length/

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

要么给你计数。任何时候你调整班级检查以查看计数,并在其1

时触发操作

答案 3 :(得分:0)

我“想”你能做到:

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

我相信选择器会返回一个元素数组。

答案 4 :(得分:0)

你有错误的语法!你应该为你的病情添加一个“)”。并且不要使用calss selecotr(“。”)。这将是有效的:

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

答案 5 :(得分:0)

你可以通过使用长度看到有多少类.current实例。 e.g。

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

然后用结果做任何你喜欢的事。