如何使其正确?
if( $(this) == $(".className") ){
alert("Yes!");
}
和NOT ...
if( $(this) != $(".className") ){
alert("Yes!");
}
谢谢
答案 0 :(得分:5)
if($(this).hasClass("className")){
alert('is class');
}else{
alert('is not class');
}
答案 1 :(得分:2)
假设你的$(this)是一个元素,你可以检查它是否有类'className':
if ($(this).is('.className')) {
//$(this) has the class
} else {
//$(this) doesn't have the class
}
答案 2 :(得分:2)
你的代码将做的是将包含一个元素的jQuery对象与包含具有特定类的所有元素的另一个jQuery对象进行比较,因此如果元素具有该类,那么所谓的(即,如果它可行)将是真的,它是该类中唯一的元素。我不认为那是你想做的......
如果要检查元素是否具有类:
if ($(this).hasClass('className')) {
alert("Yes!");
}
if (!$(this).hasClass('className')) {
alert("No!");
}
答案 3 :(得分:0)
您可以比较HTML元素:
$(this).get(0) == $(".className").get(0);
$(this).get(0) != $(".className").get(0);
Taken from jQuery mailing list:
// Plugin:
(function($){
jQuery.fn.equals = function(selector) {
return $(this).get(0)==$(selector).get(0);
};
})(jQuery);
// Can be used as:
if ( $(this).equals( $(".className") )) {
alert('SAME');
} else {
alert('Not the same');
}
答案 4 :(得分:0)
目前尚不清楚你想要做什么,但是如果你想比较两个jQuery对象以确定它们是否相同(即。值,键,整个批次),你应该使用对象比较函数。
可以在这里找到一些例子 Object comparison in JavaScript
或者您可以使用underscore.js来执行比较
答案 5 :(得分:-1)
对于小jQuery,我记得以下内容:
$(".className")
是一个选择器,因此返回一个对象列表
如果将其替换为:
,它是如何工作的$(".className")[0]
...