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

Javascript 如何在jQuery中获取第一个元素而不是使用[0]?,javascript,jquery,Javascript,Jquery,我不熟悉jQuery,如果这是一个愚蠢的问题,我道歉 当我使用它查找使用id的元素时,我知道总是有一个匹配项,为了访问它,我会使用索引[0]。有更好的方法吗? 例如 您也可以使用,但是……您不需要使用ID找到的元素,它应该始终是唯一的。我希望这只是示例中的一个疏忽……如果您的实际页面上出现这种情况,您需要修复它,使您的ID是唯一的,并使用类(或其他属性)代替 (如[0])获取DOM元素,如果您想使用jQuery对象,或者取而代之:) $(“#grid_GridHeader:first”)也可以使

我不熟悉jQuery,如果这是一个愚蠢的问题,我道歉

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

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

(如
[0]
)获取DOM元素,如果您想使用jQuery对象,或者取而代之:)


$(“#grid_GridHeader:first”)
也可以使用。

您可以使用第一个选择器

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

假设只有一个元素:

 $("#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 ] );
//只返回对象
(num<0?this.slice(num)[0]:this[num]);

您可以使用第一种方法:

$('li').first()

顺便说一句,我同意Nick Craver的观点——使用document.getElementById()…

您可以这样尝试:

yourArray.shift()

除了
$(“#id”)/*jQuery对象*/!=$(#id”).get(0)/*DOM Object*/
@BrunoLM-如果你想要一个DOM元素,
document.getElementById('id')
,不要创建一个jQuery对象只是为了把它扔掉……这是非常浪费的,从选择器引擎到对象包装器,都是无缘无故的过度使用:)Nick我同意,也许我只是在用jquery做任何事情都很傻。@NickCraver-谢谢你。我刚刚用
$('#id')[0]
替换了一堆
document.getElementById('id')
,但不喜欢
[0]
。你关于浪费的评论让我想到定义
$0=function(id){return document.getElementById(id);}
,现在我更喜欢
$0('id')
。与
$('id')
相同数量的字符,我只希望它可以是
$('id')
希望这些方法有一个变体,从空结果集中返回错误值。我认为这是处理您的问题的最佳方法。与.eq(0)相反,它的可读性很好。出于性能原因(例如,当您有一个包含1000行的表时,不需要从所有行构造jquery对象),这也是最好的方法。感谢除get()之外的所有其他功能实际上,我从Nick Crave的回复中可以看出为什么这不起作用。如果找不到元素,它将返回一个空数组。注意在逻辑语句中使用,因为
[]
将求值为
true
。返回包含单个元素的数组。
 // Return just the object
 ( num < 0 ? this.slice(num)[ 0 ] : this[ num ] );
$('li').first()