<div id="a">
<div id="b" nopopup>
<div id="c">
<div id="d">
我使用jQuery .hover()在特定<div>
被鼠标悬停时弹出菜单。字符串$ selector标识哪个<div>
悬停。
$($selector).hover(
// popup the menu
)
有效。我现在想要在祖先<div>
具有无值属性“nopopup”时阻止.hover()的操作,如上面<div>
b所做的那样。即使$选择器选择它们,“nopopup”也会阻止c和d的任何悬停。悬停候选人和挫败的nopopup之间的等级数量各不相同。
我需要类似的东西:
$($selector).not( one of the selected node's parents has the attribute "nopopup" ).hover(
// popup the menu
)
这些括号中有什么内容?或者这是错误的做法?
答案 0 :(得分:2)
可以使用多种方法。以下假设nopopup
是一个类,因为html无效
$($selector).hover(
if( !$(this).closest('.nopopup').length){
/* run code when nopop isn't ancestor*/
}
)
OR
$($selector).not('.nopopup '+$selector).hover(....
答案 1 :(得分:0)
ID无法重复使用,请注意更改。
$('.d').not('div[nopopup] .d').hover(function(){
//logic
});