2010-05-04 36 views
1

這個jQuery選擇器有什麼問題?jQuery:Selector混淆

$("#masterHeaderMenu.masterHeaderMenuButton a:first") 

我打算選擇第一錨標記,它是一種元素,它的類是「masterHeaderMenuButton」,本身的元素與「masterHeaderMenu」一個「id」屬性值的孩子的孩子。

我不能在jQuery中做到這一點?

回答

6

你在那裏需要一個額外的空間,就像這樣:

$("#masterHeaderMenu .masterHeaderMenuButton a:first") 

沒有空間,#masterHeaderMenu.masterHeaderMenuButton正在尋找有id="masterHeaderMeny"class="masterHeaderMenuButton"一個元素,空間,它說發現class="masterHeaderMenuButton",這是一個#masterHeaderMeny的後裔,而不是相同的元素。

如果你想要降低任何級別的數量,請添加一個空間,如果你想降只有一個級別,請使用>,這意味着只能下到眼前的孩子。

+0

+1對於直接Decendent'提得>' – gnarf 2010-05-04 01:19:01

4

您可以。你需要的第一個元素(ID)和第二(類)之間的空間:

$("#masterHeaderMenu .masterHeaderMenuButton a:first") 

你選擇尋找那些有ID「masterHeaderMenu」 CSS類「masterHeaderMenuButton」的元素。

0

沒有必要指定類。如果您在選擇器中給出ID名稱就足夠了。 ID可以表示文檔中的單個html元素。但該類可以表示一組html元素。

$("#masterHeaderMenu .masterHeaderMenuButton a:first") 

這個選擇可能需要一段時間。 相同的結果可以從這個代碼$("#masterHeaderMenu a:first")

+0

這是不正確,如果他下'與您聯繫「同樣的結果」答案將得到#masterHeaderMenu' 20元來自所有人的第一個鏈接,而不是與那個班級的第一個鏈接,他們不是**相同。 – 2010-05-04 10:06:34

+0

我錯了!我認爲他打算選擇第一個錨標籤,它是類「masterHeaderMenuButton」的元素的子元素,並且它具有id「masterHeaderMenu」。 – user3774128 2010-05-06 09:19:30