使用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/
谢谢!
答案 0 :(得分:1)
尝试刷新控制台/页面,因为有时它没有正确地将$
分配给jQuery,假设您使用的是Firebug(它保留了ISNT jquery的本机$函数)。
您可以通过以下方式确认:
alert( $ == jQuery )
如果不是这样,那么请确保您没有使用多个使用$
的库。
不相关:你也可以$(function(){ /* code */ });
而不是在窗口加载时绑定。
答案 1 :(得分:0)
请改为尝试:
console.log(jQuery('#tab2').hasClass('selected'))
看起来很可疑$
已被放弃但仍在使用中,例如页面中包含Prototype,并且jQuery.noConflict()
被调用(这意味着$ != jQuery
当您运行命令时稍后在控制台中。)