2013-07-06 88 views
1

我正在寫非常基本的HTML,並希望使用CSS選擇器只選擇一個元素。但是,查詢返回數組中的一個元素。我可以通過索引數組[0]來訪問我的元素,但有沒有辦法修改查詢來返回我的元素?爲什麼CSS選擇器返回一組元素?

<input class='myInput' id='myId'> 

CSS選擇器:

'input.myInput' 

當在Chrome開發者控制檯中使用,我看到:

[<input class='myInput' id='myId'>] 

代替:

<input class='myInput' id='myId'> 
+0

這應該被標記爲jQuery嗎? – BjornJohnson

+0

@BjornJohnson:我不知道。目前還不清楚他是使用本地API還是jQuery來選擇元素。 – BoltClock

+0

是的。我或多或少地問他。我應該只是說「你在用jQuery嗎?」 :) – BjornJohnson

回答

3

可以使用querySelector()方法,它總是ret從查詢甕的第一個元素:

var element = document.querySelector('input.myInput'); 

jQuery的沒有一個直接等同,所以你必須使用[0]指數爲。

2

jQuery使用jQuery對象返回查詢,該對象是返回對象的數組。因此,要找到你正在尋找的行<input class="myInput" id="myId">你需要做的是$('input.myInput')[0];它獲得數組中的第0個元素,在這種情況下,只有一個,但要獲得HTML元素,你需要在選擇器查詢後[0]

只是一個供參考的療法方法來獲得相同的輸入:

$('.myInput')[0]; 
$('#myId')[0]; 
$('input')[0]; 

或任何與.first()上述選擇的,而不是[0]後,因爲他們都搶在返回的jQuery對象的第一要素。

相關問題