2010-06-24 1 views
0

Я пытаюсь получить первый элемент .myClass моей страницы.Является ли eq правильным селектором, чтобы получить первый элемент списка jquery? Это дает мне ошибку

Чтобы сделать это, я использую $(".myClass:eq(0)"); Это прекрасно работает, но дает мне следующую ошибку консоли:

"Warning: Pseudo-class or pseudo-element "eq" unknown." (клеветал с французского)

является то, что ошибка нормально? Есть ли способ избежать этого? Какой синтаксис вы используете для выбора первых элементов? Я также попробовал $(".myClass:first");, но проблема в том же случае сперва.

Заранее спасибо за помощь Дэвид

+0

Является ли это «предупреждение» или ошибка? Я имею в виду, что код, следующий за этим, все еще работает? –

+0

Спасибо за точность. Я использую последнюю версию 1.4.2, загруженную вчера. Итак, я думаю, что эта ошибка не является нормальной? – daviddarx

+0

@Felix - Вы ошибаетесь. 'Первый: псевдо-класс эквивалентен: eq (0)' http://api.jquery.com/first-selector/ ... Вы, неверно истолковали его с помощью 'firt-child '... – Reigel

ответ

1

Ваш код хорошо и правильно. Мне интересно, какую версию jQuery вы используете и в каком браузере вы тестируете.

$(".myClass").first() 

который является ярлык для

$(".myClass").eq(0) 

может решить вашу проблему. .first() не будет использовать sizzle для запроса элементов, но использует массив slice для уменьшения набора согласованных элементов.

+0

Это отлично работает с первым(). Больше не предупреждайте, спасибо! – daviddarx

1

вы получаете это предупреждение, потому что eq() не является допустимым селектором CSS ...

вы получаете то же самое с :first потому что ..

и JQuery ловит это предупреждение, а затем выполните что ей нужно, чтобы с ним делать ...

просто же с этим :hidden

+0

Спасибо за это объяснение, теперь я понимаю лучше. – daviddarx