2013-07-06 47 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对象的第一要素。

相关问题