我想在jquery中调用一个类。
<nav class="small-nav">
<ul>
<li><a href="#">Home</a></li> </ul>
</nav> <!-- End of small-nav -->
<script>$('.handle').on('click', function()
{$('nav .small-nav ul').toggleClass('open');
});
</script>
然而,这不起作用。我已尝试替换为
$('small-nav ul') or $('.small-nav ul') or $("nav '.small-nav' ul")
or $('nav.small-nav ul')
它似乎不起作用。
我知道代码很好,因为当我从导航中删除类时,当我只调用nav ul时如下所示,它可以工作。
<nav>
<li><a href="#">Home</a></li>
</nav>
<script>$('.handle').on('click', function()
{$('nav ul').toggleClass('open');
});
</script>
那么有人可以告诉我如何打电话给特定课程吗?或者它不工作,因为我试图在另一个类(打开)中调用一个类?如何修复它以便我可以调用该特定的nav类而不是我网站中的所有导航。
感谢阅读。
答案 0 :(得分:1)
尝试find();
这样的
<script>
$(document).ready(function(){
$('.handle').on('click', function(){
$('nav.small-nav').find('ul').toggleClass('open');
});
})
</script>
答案 1 :(得分:0)
您的第一个解决方案无效,因为您使用类nav
定位small-nav
的选择器错误。还确保在dom准备好时附加事件。您需要使用:
<script>
$(function(){
$('.handle').on('click', function(){
$('nav.small-nav ul').toggleClass('open');
});
});
答案 2 :(得分:0)
$('nav > .small-nav ul').toggleClass('open');
答案 3 :(得分:0)
您的jQuery不起作用,因为您正在寻找.small-nav
(nav
)内的nav .small-nav
元素,而不是具有该类的.nav
元素({{ 1}})。试试这个:
nav.small-nav
这段代码显然假设你的代码中有一个类<nav class="small-nav">
<ul>
<li><a href="#">Home</a></li>
</ul>
</nav>
<script type="text/javascript">
$('.handle').on('click', function() {
$('nav.small-nav ul').toggleClass('open');
});
</script>
的元素 - 因为它没有显示在你的OP示例中。