在Jquery中调用一个类

时间:2014-07-02 06:15:25

标签: jquery

我想在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类而不是我网站中的所有导航。

感谢阅读。

4 个答案:

答案 0 :(得分:1)

尝试find();这样的

<script>
$(document).ready(function(){
  $('.handle').on('click', function(){
    $('nav.small-nav').find('ul').toggleClass('open'); 
    });

})

</script>

Jquery doc

答案 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-navnav)内的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示例中。