不知道为什么这不起作用,但我希望第二眼。
是的我正在引用jQuery库。
var $current_selection;
$('.nav-link').hide();
$('a').click(function () {
current_selection = $(this).attr("class");
$('#nav').find("div").hasClass(current_selection).show();
});
我的HTML
<a href="#" class="link-one">Nav Option One</a>
<div id="nav">
<div class="nav-link link-one">
<p>Test Link One</p>
</div>
</div>
错误我进入控制台
未捕获的TypeError:$(...)。find(...)。hasClass(...)。show is not a a 功能
答案 0 :(得分:10)
hasClass
返回布尔值,因此您无法链接hasClass
。
您可以使用
$('#nav').find("div." + current_selection).show();
如果current_selection
包含多个类,则类将包含空格,并且选择器将无法按预期工作。为了使其工作,所有空间都需要由.
替换。
current_selection = $(this).attr("class").replace(/ /g, '.');
$('#nav').find("div." + current_selection).show();
答案 1 :(得分:6)
hasClass()
会返回true
或false
。您想要选择相应的元素:
$("#nav div." + current_selection).show();