<div id="a">
<div id="b" nopopup>
<div id="c">
<div id="d">当鼠标移到特定的<div>上时,我使用jQuery .hover()来弹出一个菜单。字符串$selector标识哪些<div>处于悬停状态。
$($selector).hover(
// popup the menu
)这是可行的。现在,我想在祖先<div>具有无值属性"nopopup“时阻止.hover()的操作,就像上面的<div> b所做的那样。即使$selector选择了c和d,"nopopup“也会阻止它们的任何悬停。悬停候选人和受挫的nopopup之间的级别数各不相同。
我需要像这样的东西:
$($selector).not( one of the selected node's parents has the attribute "nopopup" ).hover(
// popup the menu
)这些括号里是什么?或者这是错误的方法?
发布于 2012-11-04 11:33:10
可以使用几种方法。下面假设nopopup是一个类,因为html无效
$($selector).hover(
if( !$(this).closest('.nopopup').length){
/* run code when nopop isn't ancestor*/
}
)或
$($selector).not('.nopopup '+$selector).hover(....发布于 2012-11-04 11:31:46
ID不能重复使用,请注意更改。
$('.d').not('div[nopopup] .d').hover(function(){
//logic
});Working jsFiddle demo
https://stackoverflow.com/questions/13215776
复制相似问题