如何获得第一个元素而不是在jQuery中使用[0]?

时间:2010-06-23 17:02:45

标签: javascript jquery

我是jQuery的新手,如果这是一个愚蠢的问题,请道歉。

当我使用它时,使用id找到一个元素,我知道总是一个匹配,为了访问它,我会使用索引[0]。有没有更好的方法呢? 例如,

var gridHeader = $("#grid_GridHeader")[0];

7 个答案:

答案 0 :(得分:84)

您也可以使用.get(0)但是......您不应该使用ID找到的元素来执行此操作,始终应该是唯一的。我希望这只是示例中的一个疏忽...如果您的实际页面上出现这种情况,您需要修复它,以便您的ID是唯一的,并使用类(或其他属性)代替。 / p>

.get()(如[0])获取DOM元素,如果您希望jQuery对象使用.eq(0).first()代替:)

答案 1 :(得分:20)

$("#grid_GridHeader:first")也适用。

答案 2 :(得分:13)

您可以使用第一种方法:

$('li').first()

http://api.jquery.com/first/

btw我同意Nick Craver的说法 - 使用document.getElementById()......

答案 3 :(得分:4)

假设只有一个元素:

 $("#grid_GridHeader")[0]
 $("#grid_GridHeader").get(0)
 $("#grid_GridHeader").get()

...都是等价的,返回单个底层元素。

从jQuery源代码中,您可以看到get(0)在幕后的内容与[0]方法基本相同:

 // Return just the object
 ( num < 0 ? this.slice(num)[ 0 ] : this[ num ] );

答案 4 :(得分:3)

您可以使用第一个选择器。

var header = $('.header:first')

答案 5 :(得分:2)

http://api.jquery.com/eq/

$("#grid_GridHeader").eq(0)

答案 6 :(得分:-2)

您可以尝试这样:
yourArray.shift()