如何从其他父类中移除添加的类
How to remove the added class from other parent li?
<ul id="nav">
<li id="SubnavGrpTwo" class="navitem">
<a class="panel"><span class="vcufon btnLabel">Main menu</span></a>
<ul>
<li id="itemOne">
<a class="panel vcufon subMenu"><span>Submenu One</span></a>
</li>
</ul>
</li>
<li id="SubnavGrpThree" class="navitem">
<a class="panel"><span class="vcufon btnLabel">Main menu</span></a>
</li>
</ul>
概要:我有下拉菜单,是在悬停子菜单列表项上添加背景图像。如
我目前使用以下jquery代码。
$(document).ready(function () {
$("#nav li ul li a").hover(function () { // on hover submenu list item
$('#nav li').addClass('setHover') //Add class on main menu list item
},(function(){
$("#nav li").removeClass('setHover').fadeIn(1000); //Remove class from main menu list item
}));
});
问题:我需要删除这个(setHover)类在其他主菜单列表项
干杯!
我想你想要这个:
$("#nav li").not(this.parent()).removeClass('setHover').fadeIn(1000);
应该这样做…
$(document).ready(function () {
$("#nav li ul li a").hover(function () { // on hover submenu list item
$(this).closest('#nav > li').addClass('setHover').siblings().removeClass('setHover'); //Add class on main menu list item
},(function(){
$(this).closest("#nav > li").removeClass('setHover').fadeIn(1000); //Remove class from main menu list item
}));
});
在<<p> 演示/strong> http://jsfiddle.net/gaby/A4kB3/ 好吧,我可能不明白你的问题,但这是我尝试使用的:
$("#nav li ul li").hover(function() { // on hover submenu list item
$(this).addClass('setHover');
}, (function() {
$("#nav li ul li").removeClass('setHover');
}));
您使用$('#nav li')来设置类,但这会为所有的#nav li添加一个类。
查看这个jsFiddle的实例:http://jsfiddle.net/PnSTH/
这样做怎么样:
#nav li a {
/*styles...*/
}
#nav li a:hover
{
background: url(http://placekitten.com/g/200/200) no-repeat center center;
}
抱歉,如果我低估了,但这似乎是jQuery过度使用的东西,你可以实现一些CSS。
小提琴:http://jsfiddle.net/pKmzw/1/
这将达到您的目的
$(document).ready(function () {
$("#nav li ul li a").mouseover(function () { // on hover submenu list item
$("#nav li").removeClass('setHover').fadeIn(1000); //Remove class from main menu list item
$(this).parents("#nav li").addClass('setHover') //Add class on the main menu list item you want only
});
});
显然你不想要一个悬停功能,你只需要第一部分,"mouseover",而不是"mouseleave"。我以前只支持IE6,但现在你应该只使用CSS。
相关文章:
- 在Jquery调用之间添加其他函数
- 如何在 Javascript 中向数组添加其他对象
- 在维护输入内容的同时添加其他字段
- 如何从帖子对象添加其他信息以在护照中注册用户
- 找到所有元素,如果没有类,则使用 jQuery 添加其他类
- 向ChartJS数据集添加其他属性
- 添加其他参数以使用fin上传器发送到服务器
- 如何在使用模式框的混合Form/HEF链接中添加其他GET参数
- JQuery文本编辑器-在工具栏中添加其他下拉列表
- 在响应之前向文档添加其他字段
- 如何向cordova.exec成功函数添加其他参数
- 如何在运行时向计算可观察量添加其他数组项
- 精彩弹出窗口 - 向 iframe 添加其他类
- 如何向数据表标头添加其他筛选器
- MD 数组:如果未找到值,则添加其他数组
- 从 youtube 向 yt.player 对象添加其他参数
- 向传单标记添加其他标记
- 高图表 - 添加其他导出选项而不会丢失默认选项
- 向 Google Maps API 添加其他功能
- 角度自动完成仅在删除符号时起作用,但如果添加其他符号则不工作