检查复选框上是否存在类

时间:2010-09-23 03:13:11

标签: jquery

这不起作用

$(".gradeA, .gradeU").find(":checkbox").click(function() {
if (this.checked === false) { return; }
if (this.hasClass("toggler")) { return; }

最后一行失败,但我需要检查是否有这个复选框

<input type="checkbox" name="myCB" value="A" class="toggler" />Couldn't find the Venue<br />

3 个答案:

答案 0 :(得分:2)

hasClass()jQuery对象的成员方法。所以你需要将this括在$()函数中,否则你试图在DOM对象上调用hasClass()方法,而没有hasClass()作为成员函数。

this作为参数传递给jQuery对象(通常缩写为$)将返回jQuery个对象,其中hasClass()作为成员方法,然后每个人都很高兴,小精灵可以再次在篝火旁跳舞。

if (this.hasClass("toggler")) { return; }    //Your Code, wrong.
if ($(this).hasClass("toggler")) { return; } //My Code, right.

答案 1 :(得分:1)

试试这个

$("input[type=checkbox]").each(function(index) {
  if($(this).attr('class')=='toggler')
    alert ('yes class is there');
  else
    alert ('no class is not there');
});

$("input[type=checkbox]").each(function(index) {
  if ($(this).hasClass("toggler")) { alert("yes class is there"); }
});

答案 2 :(得分:0)

您也可以使用.is()

进行检查
$(this).is('.toggler');