我正在创建一个程序,将一个类分配给一个随机选择的div,当你单击该div时,它表示“你用一个类点击了div”,而我正试图在你点击一个div没有上课,它说“你点了一个没有上课的div”,但我似乎无法找到方法。有像jquery命令看起来像这样吗?:
$(!".whatever").click(function(){
}
就像,一个jquery命令,如果你在没有下面的类的情况下点击div,那么请执行以下操作?
谢谢!
答案 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');