它应该如何正常工作?
$(".ok").hover(function () {
$(this).parent().find('.ok').removeClass("ok").addClass("no");
$(this).removeClass("ok").addClass("no");
},
function () {
$(this).parent().find('.no').removeClass("no").addClass("ok");
$(this).removeClass("no").addClass("ok");
}
);
$(".no").hover(function () {
$(this).parents().children('.no').removeClass("no").addClass("ok");
$(this).removeClass("no").addClass("ok");
},
function () {
$(this).parents().children('.ok').removeClass("ok").addClass("no");
$(this).removeClass("ok").addClass("no");
}
);
http://jsfiddle.net/rmtrpkqd/11/
现在徘徊不起作用。 当我徘徊" ok"上课时,图像应改为" no",当我徘徊" no"类,图像应更改为" ok",到所有子菜单。 当我将鼠标悬停在Grand Child Sum Menu 2上时,它会改变菜单1" ok"到"不" - 这是问题
帮我解决问题
答案 0 :(得分:1)
使用Jquery的<)方法
$("#yourID").on("mouseover", function () {
//Your code goes here
});
答案 1 :(得分:0)
您已在评论中描述了您期望以下行为:
o如果.ok
悬停,请将该元素切换为.no
o如果.no
悬停,请将该元素及其.no
的所有子元素切换为.ok
$(document).on('mouseover', '.no', function() {
$(this).toggleClass('no ok');
$(this).parent('div').find('.no').toggleClass('no ok');
});
$(document).on('mouseover', '.ok', function() {
$(this).toggleClass('no ok');
});
使用您告诉系统的$(document).on(EVENT, SELECTOR, FUNCTION())
,即使您创建新元素(或元素获得新类),也可以将您的函数应用于给定的选择器,而在原始形式中,它只会附加您的函数到pageload上可用的元素。
**更新
根据您的评论更新 - 如果他们有另一个.no
,这将检查每个.margin-l-300
的孩子(在这种情况下,如果有任何子菜单,这是您的指标)。
$(document).on('mouseover', '.no', function() {
$(this).toggleClass('no ok');
$(this).parent('div').find('.no').each(function(){
if ($(this).parent().children('.margin-l-300').length != 0)
$(this).toggleClass('no ok');
});
});