2009-07-23 53 views
1
<div id="first"> 
    <div id="here">...</div> 
</div> 
<div id="second"> 
    <div id="here">...</div> 
</div> 

的jQuery:jquery - 如何檢測孩子ID?

$("#second #here").click(function(){}); 

如何編寫jQuery來檢測,當我點擊第二個?

回答

5

這是錯誤的問題要問,因爲你不應該在文檔中有重複的ID。一個ID就像一個元素的社會安全號碼。你不能給多個元素同一個元素,因爲那麼當你告訴Javascript通過ID查找元素時,它會被多於一個的事實困惑,並給你意想不到的結果。 ID查找速度的原因是因爲瀏覽器可能具有ID->元素的哈希表 - 違反理解是一種不好的做法,至少可以說。

當你有幾個元素都是相同的「類型」的,正確的做法是一流他們:

<div id="first"> 
    <div class="here">...</div> 
</div> 
<div id="second"> 
    <div class="here">...</div> 
</div> 

,那麼你可以這樣做:

$('#first').find('div.here'); 

或者:

$('div.here', '#second'); 

或者:

$('#first div.here'); 

這將全部返回您期望他們返回的內容。

0

This是你在找什麼,但像保羅說,你不能有重複的ID。如果你正在設計樣式,請使用一個班級。