如果点击“不上课”

时间:2014-01-27 00:02:06

标签: jquery class

我正在创建一个程序,将一个类分配给一个随机选择的div,当你单击该div时,它表示“你用一个类点击了div”,而我正试图在你点击一个div没有上课,它说“你点了一个没有上课的div”,但我似乎无法找到方法。有像jquery命令看起来像这样吗?:

$(!".whatever").click(function(){
}

就像,一个jquery命令,如果你在没有下面的类的情况下点击div,那么请执行以下操作?

谢谢!

4 个答案:

答案 0 :(得分:1)

如果它适用于所有div元素,则定位所有div元素(或任何你真正喜欢的元素),并检查它是否在事件处理程序中有类:

$('div').on('click', function() {
    if ( $(this).hasClass('whatever') ) {
         alert("You clicked a div with the class");
    } else {
         alert("You clicked a div without the class");
    }
});

答案 1 :(得分:1)

使用$(":not('.whatever')")作为选择器

$(":not('.whatever')").click(function(){
  alert("not whatever was clicked");
});

答案 2 :(得分:0)

使用on()

的委托表格
$('#container').on('click','div',function(){
  var self = $(this);

  if (self.is('.whatever')){
     alert('it is');
  } else {
     alert('it is not');
  }
});

假设包含id="container"的元素是您所有div元素的父元素。

如果没有其他普通父母,您可以使用body

答案 3 :(得分:0)

您可以使用hasClass检查特定类是否应用于元素元素是否没有应用类:

$('#element').on('click', function() {
    if($(this).hasClass(''))
        alert('Element has no classes');
    elseif($(this).hasClass('yourclass'))
        alert('Element has yourClass!');
    else 
        alert('Element has a class, but its not yourClass');