Jquery toggleClass不';我似乎不适合这里。有什么线索吗?

Jquery toggleClass不';我似乎不适合这里。有什么线索吗?,jquery,jquery-waypoints,Jquery,Jquery Waypoints,然而,使用waypoint库,问题似乎与脚本无关,也与我们对一般jquery和javascript理解的错误理解有关 有了这一行,我们可以选择属性href作为特定值的所有锚点,并添加或删除一个类 $('a[href="' + $(this).attr('id') + '"]').toggleClass("marca-menu", direction === 'down'); 但什么也没发生 代码,下面是小提琴 JS: HTML: 您可以在这里查看: 我做错了什么?没有看到您发布的html,请

然而,使用waypoint库,问题似乎与脚本无关,也与我们对一般jquery和javascript理解的错误理解有关

有了这一行,我们可以选择属性href作为特定值的所有锚点,并添加或删除一个类

$('a[href="' + $(this).attr('id') + '"]').toggleClass("marca-menu", direction === 'down');
但什么也没发生

代码,下面是小提琴

JS:

HTML:

您可以在这里查看:


我做错了什么?

没有看到您发布的html,请使用:

$('a[href="#' + this.id + '"]').toggleClass("marca-menu", direction === 'down');

刚刚更新了小提琴。抱歉。您的JSFIDLE中没有包含航路点插件,这不是您应该做的。谢谢。再次更新了小提琴。这就成功了。谢谢你发现了这一点。我注意到您也使用了
this
,而不是
$(this)
。。。有区别吗?(如果更方便的话,我可以跟随一个链接),对于属性ID,因为它是一个节点元素属性,您不需要使用jquery,这里更倾向于使用元素属性ID。请注意,不能将此参数应用于所有属性,例如this.href将返回绝对路径,而$(this.attr('href')将返回相对路径,对于src也是如此
<nav class="main-menu">
<ul>
 <li><a href="#slide3" target="_self">plimplim</a></li>
 <li><a href="#slide4" target="_self">plimplomm</a></li>
 <li><a href="#slide5" target="_self">plimplumm</a></li>
</ul>
</nav>

<section id="slide3">
  <h1>bababaadasda</h1>
    <p>asdsadasdsad</p>
    <p>asdsadasdsad</p>
    <p>asdsadasdsad</p>
    <p>asdsadasdsad</p>
    <p>asdsadasdsad</p>
</section>
<section id="slide4">
 <h1>SLIDE 4</h1>
    <p>asdsadasdsad</p>
    <p>asdsadasdsad</p>
    <p>asdsadasdsad</p>
    <p>asdsadasdsad</p>
    <p>asdsadasdsad</p>
</section>
<section id="slide5">
 <h1>SLIDE 5</h1>
    <p>asdsadasdsad</p>
    <p>asdsadasdsad</p>
    <p>asdsadasdsad</p>
    <p>asdsadasdsad</p>
    <p>asdsadasdsad</p>
</section>
.marca-menu {
    background-color: blue;
}
$('a[href="#' + this.id + '"]').toggleClass("marca-menu", direction === 'down');