2010-04-23 88 views
1

如何在if语句中获取另一个id下的id?如何在if语句中的另一个id下获取id?

$('#mainmenu').mouseenter(function() { 
    if ($(this).???('#a')) { 
     } 

    if ($(this).???('#b')) { 
     } 
}); 

<div id="mainmenu"> 
    <div id="a"></div> 
    <div id="b"></div> 
</div> 
+0

为什么不直接把'mouseenter'直接放在子div上,而是试着做if语句?这样'$(this).attr(“id”)'会得到鼠标所在元素的ID吗? – R0MANARMY 2010-04-23 23:49:00

+0

他说'$('#mainmenu div')。mouseenter(...);'问题解决了。 – SeanJA 2010-04-23 23:51:15

+0

你想从'if'语句中实现什么? jQuery总是返回一个Object,它总是会评估为“true”。你不是指'if($(this)。('#a')。size())'? – Matt 2010-04-24 00:06:28

回答

1
$('#mainmenu #a, #mainmenu #b').mouseenter(function(){ 
// code for something cool... 
}); 

HTH。

+0

会更容易做'$(“#a,#b”,$(“#mainmenu”))。mouseenter(function(){// ...});' – R0MANARMY 2010-04-23 23:51:17

+0

@RomanArmy,我更喜欢CSS选择器约定,每个人对他自己的毒药我猜 – Sunny 2010-04-23 23:54:26

+1

这改变了预期的行为。 如果“#mainmenu”里面还有别的东西,除了#a和#b? – 2010-04-23 23:56:25

3

你想要find方法。

$(this).find('#a')

1

试试这个:

$('#mainmenu').mouseenter(function() { 

    if ($('#a', $(this)) { 
    // your code here............... 
    } 

    if ($('#b', $(this)) { 
    // your code here............... 
    } 

}); 
+0

从技术上来说,答案是一种奇怪的方式。 – R0MANARMY 2010-04-23 23:54:18

+0

我也许不明白,但是......它应该如何工作? – 2010-04-23 23:54:27

+1

啊!我懂了。你的意思是“$('#a',$(this))”? – 2010-04-23 23:55:22