如何获得第一个元素,而不是在jQuery中使用[0]?
我是jQuery的新手,如果这是一个愚蠢的问题,道歉。如何获得第一个元素,而不是在jQuery中使用[0]?
当我使用它找到一个使用ID的元素,我知道总是一个匹配,并为了访问它,我会使用索引[0]。有没有更好的方法来做到这一点? 例如
var gridHeader = $("#grid_GridHeader")[0];
$("#grid_GridHeader:first")
作品以及
.get()
(如[0]
)得到的DOM元素。
我认为这是处理您的问题的最佳方式。它读得很好,而不是.eq(0) – 2010-06-23 17:12:27
,并假设只有一种元素:
$("#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 ]);
您可以用第一种方法:
$('li').first()
btw我同意Nick Craver - 使用document.getElementById()...
如果找不到元素,它将返回一个空数组。在逻辑语句中要小心,因为'[]'将被评估为'true'。 – Ash 2015-08-25 15:48:40
你可以尝试这样的: yourArray.shift()
除了'$( “#ID”)/ * jQuery对象*/= $( “#ID”)得到(0)/ * DOM! Object * /' – BrunoLM 2010-06-23 17:07:31
@BrunoLM - 如果你想要一个DOM元素,'document.getElementById('id')',不要创建一个jQuery对象来抛弃它...这是非常浪费的,从选择器引擎到对象包装,它只是没有很好的理由矫枉过正:) – 2010-06-23 17:11:18
尼克我同意,也许我是相当愚蠢的只是使用jquery的everthing。 – Rubans 2010-06-23 17:39:32