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


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

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

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

7 ответов:

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

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

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

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

$('li').first()

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

кстати, я согласен с Ник Кравира-использовать документ.getElementById ()...

в предположении, что есть только один элемент:

 $("#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 ] );

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

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

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

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

вы можете попробовать вот так:
yourArray.shift()