Jquery 如何比较$(这个)?

Jquery 如何比较$(这个)?,jquery,if-statement,conditional,Jquery,If Statement,Conditional,如何使之正确 if( $(this) == $(".className") ){ alert("Yes!"); } 而不是 if( $(this) != $(".className") ){ alert("Yes!"); } 谢谢假设您的$(this)是一个元素,您可以检查它是否具有类“className”: if($(this).hasClass("className")){ alert('is class'); }else{ alert('is not cla

如何使之正确

if( $(this) == $(".className") ){
   alert("Yes!");
}
而不是

if( $(this) != $(".className") ){
   alert("Yes!");
}
谢谢

假设您的$(this)是一个元素,您可以检查它是否具有类“className”:

if($(this).hasClass("className")){
    alert('is class');
}else{
    alert('is not class');
}
if ($(this).is('.className')) {
     //$(this) has the class
} else {
     //$(this) doesn't have the class
}
假设您的$(this)是一个元素,您可以检查它是否具有类“className”:

if ($(this).is('.className')) {
     //$(this) has the class
} else {
     //$(this) doesn't have the class
}

您可以比较HTML元素:

$(this).get(0) == $(".className").get(0);
$(this).get(0) != $(".className").get(0); 
:


您可以比较HTML元素:

$(this).get(0) == $(".className").get(0);
$(this).get(0) != $(".className").get(0); 
:


您的代码要做的是将包含一个元素的jQuery对象与包含特定类的所有元素的另一个jQuery对象进行比较,因此如果元素具有该类,并且它是该类的唯一元素,则假定(即,如果它能够工作)为真。我不认为那是你想做的

如果要检查元素是否具有类:

if ($(this).hasClass('className')) {
   alert("Yes!");
}

if (!$(this).hasClass('className')) {
   alert("No!");
}

您的代码要做的是将包含一个元素的jQuery对象与包含特定类的所有元素的另一个jQuery对象进行比较,因此如果元素具有该类,并且它是该类的唯一元素,则假定(即,如果它能够工作)为真。我不认为那是你想做的

如果要检查元素是否具有类:

if ($(this).hasClass('className')) {
   alert("Yes!");
}

if (!$(this).hasClass('className')) {
   alert("No!");
}

对于小jQuery,我记得以下几点:

$(".className")
是选择器,因此会返回对象列表

如果将其替换为:

$(".className")[0]

??

对于小jQuery,我记得以下几点:

$(".className")
是选择器,因此会返回对象列表

如果将其替换为:

$(".className")[0]

不清楚您想做什么,但如果您想比较两个jQuery对象以确定它们是否相同(即值、键、整批),则应使用对象比较功能

这里可以找到一些例子

或者可以使用下划线.js执行比较


不清楚您想做什么,但是如果您想比较两个jQuery对象以确定它们是否相同(即值、键、整批),您应该使用对象比较功能

这里可以找到一些例子

或者可以使用下划线.js执行比较


如果我添加了一个新的选择,而现在它是一个OR,并且仍然处于相同的状态,该怎么办?例如:如果($(this).hasClass('className')| |$(this)=$('ul'))??@Eron,那么您需要使用
is()
,正如朱尔斯在回答中所描述的那样
$('#foo').is('.className,ul')
@Eron:如果没有jQuery,有些事情会更简单:
如果($(this.hasClass('className'))| | this.tagName='ul')
。如果我向它添加一个新的选择,现在它是一个OR,并且它仍然处于相同的条件下,该怎么办?例如:如果($(this).hasClass('className')| |$(this)=$('ul'))??@Eron,那么您需要使用
is()
,正如朱尔斯在回答中所描述的那样
$('#foo').is('.className,ul')
@Eron:没有jQuery:if($(this.hasClass('className'))| | this.tagName='ul'),有些事情就容易多了。