Как получить первый элемент, а не использовать [0] в jQuery?

Я новичок в jQuery, извиняюсь, если это глупый вопрос.

Когда я использую его, найдите элемент с использованием id, я знаю, что theres всегда одно совпадение, и для доступа к нему я бы использовал индекс [0]. Есть ли лучший способ сделать это? Например,

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

Ответ 1

Вы можете использовать .get(0), но... вам не нужно делать это с помощью элемента, найденного по идентификатору, который всегда должны быть уникальными. Я надеюсь, что это просто недосмотр в примере... если это так на вашей реальной странице, вам нужно исправить это, чтобы ваши идентификаторы были уникальными и вместо этого использовали класс (или другой атрибут).

.get() (например, [0]) получает элемент DOM, если вы хотите, чтобы объект jQuery использовал .eq(0) или .first() вместо:)

Ответ 2

$("#grid_GridHeader:first") работает.

Ответ 3

Вы можете использовать первый метод:

$('li').first()

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

btw Я согласен с Nick Craver - используйте document.getElementById()...

Ответ 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 ] );

Ответ 6

Вы можете использовать первый селектор.

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

Ответ 7

Вы можете попробовать следующее:
yourArray.shift()