如果Div不存在则jQuery

时间:2009-02-06 14:32:56

标签: jquery

我有3个图像并且具有一个功能,因此在鼠标翻转时它们会淡入淡出。如果正在翻转的图像具有“已选择”类,我不想这样做。

到目前为止,我有这段代码:

$(".thumbs").hover(function(){

if (!($(this).hasClass(".selected")){

$(this).stop().fadeTo("normal", 1.0);
},function(){
$(this).stop().fadeTo("slow", 0.3);

}

});
对我来说,IF语句看起来应该是:

if (!($(this).hasClass(".selected"))){

但是没有工作,所以谁知道。当我实现此代码时,我的整个javascript停止工作,任何想法为什么?

Google上的jQuery几乎没有关于IF语句的信息,这太荒谬了。我非常感谢任何帮助!

5 个答案:

答案 0 :(得分:5)

问题是你的元素有“选中”类而不是“.selected”。删除点。

答案 1 :(得分:2)

The jQuery docs on selectors告诉您需要知道的一切。

$('.thumbs:not(.selected)').hover(function(){
  // ...
})

答案 2 :(得分:2)

使用not功能:

if ($(this).not(".selected")) {
    ...
}

答案 3 :(得分:1)

也许它应该是

if (!($(this).hasClass("selected"))){
不,不。因为它知道你正在寻找一个类名。

答案 4 :(得分:1)

我认为你的javascript格式不正确 - 在错误的地方括号 - 你不应该在hasClass函数中使用点。更好的格式化也有助于提高可读性。

$(document).ready( function() {
    $('.thumbs').hover( function() {
                            if (!$(this).hasClass('selected')) {
                                $(this).stop().fadeTo("normal", 1.0);
                            }
                        },
                        function() {
                            $(this).stop().fadeTo("slow", 0.3);
                        }
                 );
});