Ответ 1
Вам не нужен if
- вы можете использовать селектор jQuery :lt()
$('ul li:lt(3)').mouseenter(function(){});
Обратите внимание, что индекс основан на нуле, поэтому первые три: 0, 1 и 2
<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.
Вам не нужен if
- вы можете использовать селектор jQuery :lt()
$('ul li:lt(3)').mouseenter(function(){});
Обратите внимание, что индекс основан на нуле, поэтому первые три: 0, 1 и 2
На самом деле, вам не нужен условный оператор, вы можете сделать это с помощью одного селектора:
$('ul li:first').mouseenter(function() {
});
Если вы хотите "фильтровать" ваши узлы <li>
, будьте более конкретными, например
$('ul li.navahead:first').mouseenter(function() {
});
Обновление
Чтобы ответить на ваш обновленный вопрос:
$('ul li[class^=tab]').mouseenter(function() {
});
^=
выберет все имена классов, начинающиеся с данной строки (в этом случае вкладка)
Вам не нужно "if". Использовать селектор
$("ul li:first")
$("li.tab1, li.tab2, li.tab3").mouseover(function(){
// write your code here
});
Я думаю, это должно быть как:
$(".tab1").mouseover(function() {
});
Вы можете использовать :nth-child(-n+{TARGET_NUMBER})
Используйте ul li:nth-child(-n+3)
для выбора первых трех элементов.
например.
$('ul li:nth-child(-n+3)').mouseenter(function() {
// your code goes here
});