Javascript 如何从其他父li中删除添加的类?
问题: 我需要删除其他主菜单列表项Javascript 如何从其他父li中删除添加的类?,javascript,jquery,html,Javascript,Jquery,Html,问题: 我需要删除其他主菜单列表项上的(setHover)类,当前处于悬停状态的类除外 干杯 我想你想要这个: $(document).ready(function () { $("#nav li ul li a").hover(function () { // on hover submenu list item $('#nav li').addClass('setHover') //Add class on main menu l
$(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
}));
});
我想你想要这个:
$(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
}));
});
下面这些应该可以做到
$("#nav li").not(this.parent()).removeClass('setHover').fadeIn(1000);
在演示时,应使用以下方法:
$("#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
}));
});
您使用$(“#nav li”)设置类,但这将向所有#nav li添加一个类
查看这个JSFIDLE实时示例:好吧,我可能不理解您的问题,但以下是我将尝试使用的:
$(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
}));
});
您使用$(“#nav li”)设置类,但这将向所有#nav li添加一个类
查看这个JSFIDLE实时示例:这样做怎么样:
$("#nav li ul li").hover(function() { // on hover submenu list item
$(this).addClass('setHover');
}, (function() {
$("#nav li ul li").removeClass('setHover');
}));
如果我错误地低估了,我深表歉意,但这似乎是jQuery的过度使用,因为您可以通过一些CSS获得一些东西
小提琴:这样做怎么样:
$("#nav li ul li").hover(function() { // on hover submenu list item
$(this).addClass('setHover');
}, (function() {
$("#nav li ul li").removeClass('setHover');
}));
如果我错误地低估了,我深表歉意,但这似乎是jQuery的过度使用,因为您可以通过一些CSS获得一些东西
小提琴:这会达到你的目的
#nav li a {
/*styles...*/
}
#nav li a:hover
{
background: url(http://placekitten.com/g/200/200) no-repeat center center;
}
显然,您不需要悬停功能,您只需要第一部分“mouseover”,而不是“mouseleave”。
我以前做这种事情只是为了支持IE6,但现在你应该只使用CSS。这会达到你的目的
#nav li a {
/*styles...*/
}
#nav li a:hover
{
background: url(http://placekitten.com/g/200/200) no-repeat center center;
}
显然,您不需要悬停功能,您只需要第一部分“mouseover”,而不是“mouseleave”。
我过去使用这种方式只是为了支持IE6,但现在你应该只使用CSS。+1来抵消非建设性的批评。如果你否决了某人,特别是一个noob,你至少应该说一下原因。+1以抵消非建设性的批评。如果你否决了某个人,特别是一个noob,你至少应该说一下原因。非常感谢大家。我在hover上使用了CSS和一些JS的组合。非常感谢大家。我在hover上使用了CSS和一些JS的组合。