Как выбрать первые N элементов с jquery?

<div class="nav-top">
<ul>
  <li class="tab1"><a href="/">test</a></li>
  <li class="tab2"><a href="#">test</a></li>
  <li class="tab3"><a href="#">test</a></li>
  <li class="navahead"><a href="#">test</a></li>
  <li class="navahead"><a href="#">test</a></li>
<li class="new"><a href="#">test</a></li>
</ul>
</div>

Я хочу только добавлять onmouse к событию в первые три li (tab1, tab2, tab3). как написать условие if.

Ответы

Ответ 1

Вам не нужен if - вы можете использовать селектор jQuery :lt()

$('ul li:lt(3)').mouseenter(function(){});

Обратите внимание, что индекс основан на нуле, поэтому первые три: 0, 1 и 2

http://api.jquery.com/lt-selector/

Ответ 2

На самом деле, вам не нужен условный оператор, вы можете сделать это с помощью одного селектора:

$('ul li:first').mouseenter(function() {
});

Если вы хотите "фильтровать" ваши узлы <li>, будьте более конкретными, например

$('ul li.navahead:first').mouseenter(function() {
});

Обновление

Чтобы ответить на ваш обновленный вопрос:

$('ul li[class^=tab]').mouseenter(function() {
});

^= выберет все имена классов, начинающиеся с данной строки (в этом случае вкладка)

Ответ 3

Вам не нужно "if". Использовать селектор

$("ul li:first")

Ответ 4

$("li.tab1, li.tab2, li.tab3").mouseover(function(){
    // write your code here
});

Ответ 5

Я думаю, это должно быть как:

 $(".tab1").mouseover(function() {

});

Ответ 6

Вы можете использовать :nth-child(-n+{TARGET_NUMBER})

Используйте ul li:nth-child(-n+3) для выбора первых трех элементов.

например.

$('ul li:nth-child(-n+3)').mouseenter(function() {
    // your code goes here
});