不知道为什么这不起作用,但我希望有另一双眼睛。
是的,我正在引用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: $(…);(…).hasClass(…)。Show不是一个函数
hasClass
返回布尔值,因此不能链接hasClass
。
可以使用
$('#nav').find("div." + current_selection).show();
如果current_selection
包含多个类,类将包含空格,选择器将不能正常工作。要使其工作,需要将所有空格替换为.
。
current_selection = $(this).attr("class").replace(/ /g, '.');
$('#nav').find("div." + current_selection).show();
hasClass()
返回true
或false
。实际上,您需要选择适当的元素:
$("#nav div." + current_selection).show();