如何通过控制台打印.hasClass的值?

时间:2010-07-19 18:18:25

标签: javascript jquery

使用Firebug控制台我正在尝试测试此代码是否正常工作:

$(window).bind("load", function() {
    $('#tab1link').click(function() {
        $('#tab2').hide();
        $('#tab2').removeClass('selected');
        $('#tab1').show();
        $('#tab1').addClass('selected');
    });

    $('#tab2link').click(function() {
        $('#tab1').hide();
        $('#tab1').removeClass('selected');
        $('#tab2').show();
        $('#tab2').addClass('selected');
    });

});

但是这个:

console.log($('#tab2').hasClass('selected'))

返回错误:

 TypeError: $("#tab2").hasClass is not a function { message="$("#tab2").hasClass is not a function",  more...}

有谁知道为什么上面的控制台命令不正确? (不是jQuery专家......)

根据以下链接,我认为应该有效...... http://api.jquery.com/hasClass/

谢谢!

2 个答案:

答案 0 :(得分:1)

尝试刷新控制台/页面,因为有时它没有正确地将$分配给jQuery,假设您使用的是Firebug(它保留了ISNT jquery的本机$函数)。

您可以通过以下方式确认:

alert( $ == jQuery )

如果不是这样,那么请确保您没有使用多个使用$的库。

不相关:你也可以$(function(){ /* code */ });而不是在窗口加载时绑定。

答案 1 :(得分:0)

请改为尝试:

console.log(jQuery('#tab2').hasClass('selected'))

看起来很可疑$已被放弃但仍在使用中,例如页面中包含Prototype,并且jQuery.noConflict()被调用(这意味着$ != jQuery当您运行命令时稍后在控制台中。)