我正在尝试检查onclick如果div将两个不同类中的一个添加到主div类中,如果没有这样的话 - 返回警报。以下是所有可能的div的例子:
<div class="mainclass class1"></div>
<div class="mainclass class2"></div>
<div class="mainclass"></div>
如果我正在尝试使用类似于
的JS来检查类的存在$('.mainclass').click(function () {
var check1 = $(this).hasClass('class1');
var check2 = $(this).hasClass('class2');
if(check1 == false || check2 == false)
{
alert("Hey, you are clicking empty field!")
}
});
即使我点击前两个div,系统也会始终返回警报。有没有办法用JS进行适当的检查?
答案 0 :(得分:3)
选择要跟踪的对象时,更容易应用这些限制:
$('.mainclass').not('.class1, .class2').click(function () {
alert("Hey, you are clicking empty field!")
});
如果确实动态添加/删除了这些类,请再次直接说明您的意图:
$('.mainclass').click(function() {
if ( $(this).is(':not(.class1, .class2)') ) {
alert("Hey, you are clicking empty field!");
}
});
答案 1 :(得分:1)
将运营商更改为&&
而不是||
:
$('.mainclass').click(function () {
var check1 = $(this).hasClass('class1');
var check2 = $(this).hasClass('class2');
if(check1 == false && check2 == false)
{
alert("Hey, you are clicking empty field!")
}
});
<强> Working Demo 强>
答案 2 :(得分:1)
答案 3 :(得分:1)
只需像这样查看
$('.mainclass').click(function () {
var check1 = $(this).hasClass('class1');
var check2 = $(this).hasClass('class2');
if(!check1 && !check2 )
{
alert("Hey, you are clicking empty field!")
}
});
另一种方式
$('.mainclass').click(function () {
if(!$(this).hasClass('class1') && !$(this).hasClass('class2'))
{
alert("Hey, you are clicking empty field!")
}
});