2010-04-23 91 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