为什么是警报($('。myClass')。hasClass('myClass'));假?

时间:2010-10-18 15:35:05

标签: jquery

当页面加载时,我替换特定对象的属性。然后在下面的几行(可能直接下)我做另一个似乎总是失败的检查。所以我试过

alert($('.myClass').hasClass('myClass'));

并且所有逻辑都不应该总是返回true? 我在firebug中设置了一个断点,我可以看到具有new属性的对象但是...为什么这行失败?

2 个答案:

答案 0 :(得分:8)

所有逻辑

总是应该返回true?
如果您的选择器不匹配任何元素,它将返回false。你确定不是这样吗?您可以尝试检查:

alert($('.myClass').length);

答案 1 :(得分:2)

这个怎么样?

var myclasses = $('.myClass');

alert(!myclasses.length || myclasses.hasClass('myClass'));