使用 jQuery 从 UL LI 中删除类,但不删除 UL LI UL LI
我正在修改手风琴脚本以将类 active
添加到单击的链接中,但对于子项目,我遇到了问题。
基本上,如果您单击手风琴的子级,我还需要它来添加活动类,而不将其从父级中删除。像这样,
parent-item
parent-item (active)
sub-item
sub-item (active)
sub-item
parent-item
parent-item
这是当前的脚本部分:
$("#menu li a").removeClass("active");
$(this).addClass("active");
谢谢,如果您需要澄清,请发表评论。
编辑:
从技术上讲,子元素不是同一事物的子元素,因此 .parent()
不起作用。
<li>
<a href="#">parent-item</a>
<ul>
<li><a href="#">sub-item</a>
</ul>
</li>
I'm modifying an accordion script to add the class active
to the link that gets clicked, but for sub items, I'm having an issue.
Basically, if you click on a child of the accordion, I need it to also add the class active without removing it from the parent. Like this
parent-item
parent-item (active)
sub-item
sub-item (active)
sub-item
parent-item
parent-item
Here's the bit of script currently:
$("#menu li a").removeClass("active");
$(this).addClass("active");
Thanks, just post a comment if you need clarification.
EDIT:
The children elements aren't technically children of the same thing, so .parent()
won't work.
<li>
<a href="#">parent-item</a>
<ul>
<li><a href="#">sub-item</a>
</ul>
</li>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以尝试:
这将删除同级元素上的.active
You can try:
This will remove the .active on the same level elements
类似于:
应该向相关父项添加一个活动类。
Something like:
Should add an active class to the relevant parent-item.
这个例子也许会对你的
css
js
有帮助,你可以从这里检查 http://jsfiddle.net/h7fvW/
This example maybe will help you
css
js
and u can check from here http://jsfiddle.net/h7fvW/
你的意思是这样的吗?
删除活动类后,只需将其添加回所选项目及其父项即可。
编辑:查看您的 HTML 片段,您应该能够根据需要向上走,然后再向下走。例如
You mean something like this?
After removing the active class just add it back to the selected item and its parent.
EDIT: Looking at your HTML fragment you should be able to walk back up as far as you need and then come back down. e.g.