Как узнать конкретный список на jQuery? - PullRequest
1 голос
/ 04 октября 2011

У меня есть это событие при наведении курсора в jQuery.Здесь есть номер тега <li>

$("ul#mainnav li").hover(function(){
   if($(this) == $("ul#mainnav li:eq(1)")){
      alert("yes");
   } else {
      alert("no");
   }
})

Это не работает.Спасибо за вашу помощь.

Ответы [ 4 ]

5 голосов
/ 04 октября 2011

Если вы хотите узнать индекс элемента, с которого было вызвано событие, вы можете сделать

index = $("#mainnav li").index(this);
if (index == 1)...
1 голос
/ 04 октября 2011

Используйте $ (). Is () для сравнения

0 голосов
/ 04 октября 2011

Если вы просто пытаетесь привязать функцию к первому дочернему элементу, это может быть то, что вы ищете.

$("ul#mainnav li:first-child").hover(function(){
   //code here
});

другие примеры можно найти здесь. Селектор первого ребенка

0 голосов
/ 04 октября 2011

Если вы хотите нацелиться только на конкретный li, то я думаю, что это, вероятно, будет работать

$("ul#mainnav li:eq(1)").hover(function(){
   //other code
});

Это предназначается для второго li в #mainnav ul и устанавливает на него наведение.

Это то, что вы хотели?

EDIT

Учитывая объяснение

всякий раз, когда пользователь наводит список, jquery будет знать его значение eq

Вы могли бы сделать что-то вроде этого

$('#mainnav li').mouseover(function(){
    alert($(this).index());
});

Пример: http://jsfiddle.net/jasongennaro/pUacJ/

...