Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获的TypeError:$(…).find(…).hasClass(…).show不是函数_Javascript_Jquery_Html - Fatal编程技术网

Javascript 未捕获的TypeError:$(…).find(…).hasClass(…).show不是函数

Javascript 未捕获的TypeError:$(…).find(…).hasClass(…).show不是函数,javascript,jquery,html,Javascript,Jquery,Html,不知道为什么这不起作用,但我希望能有第二双眼睛 是的,我正在引用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=

不知道为什么这不起作用,但我希望能有第二双眼睛

是的,我正在引用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不是一个 作用

返回布尔值,因此不能链接
hasClass

你可以用

$('#nav').find("div." + current_selection).show();

如果当前所选内容包含多个类,则这些类将包含空格,选择器将无法按预期工作。要使其正常工作,所有空格都需要替换为

current_selection = $(this).attr("class").replace(/ /g, '.');
$('#nav').find("div." + current_selection).show();
hasClass()
返回
true
false
。您需要实际选择适当的元素:

 $("#nav div." + current_selection).show();

当然,这只适用于当前所选内容只包含一个类名的情况。@FelixKling但是,
hasClass()
,所以我们没有丢失任何预期的功能。我猜。尽管
$(“”)hasClass(“foo bar”)
返回true,而
$(“”)hasClass(“foo baz”)
返回false:-/无论哪种方式,我都不太关心
hasClass
,而更关心
类属性可以包含多个类这一事实。只是要记住一点,它可能会帮助其他人。我在阅读文档和吸收信息方面真的很糟糕,所以像这样的事情可能看起来很简单,但它可以帮助一些人。Upvote也用于研究工作,即使您没有阅读文档,一个简单的或调试也会突出您的问题。与我的实际代码相比,我上面的示例是最小的,我确实尝试过调试,但在不知道
hasClass
返回布尔值的情况下,我没有解决正确的问题。