Селектор jQuery для получения объекта li из определенного неупорядоченного списка - PullRequest
1 голос
/ 25 августа 2009

Я пытаюсь получить определенный элемент li из неупорядоченного списка.

Я делаю это так:

var listItem = $('ul.selectedItems').filter(list[i].ID);

Есть идеи, почему это не работает?

Ответы [ 3 ]

3 голосов
/ 25 августа 2009

Метод filter принимает обычный селектор jQuery, поэтому вы должны писать filter("#"+list[i].ID). (Предполагая, что list[i].ID является атрибутом id элемента li). Кроме того, метод filter ищет элементы, содержащиеся в вашем объекте jQuery, а не их дочерние элементы; вместо этого вы должны вызывать метод children. См. документацию .


Однако лучший способ сделать это так:

var listItem = $('ul.selectedItems li#' + list[i].ID);

Для получения дополнительной информации о селекторах jQuery см. здесь .

1 голос
/ 25 августа 2009

Это возвращает только ul, ваш селектор должен вернуть li's

var listItem = $('ul.selectedItems li').filter(list[i].ID);

Но если у вас есть идентификатор li, вы можете сделать это

var listItem = $('#' + liId);
0 голосов
/ 25 августа 2009

Я думаю, вы можете сделать что-то вроде этого:

  $("ul.selectedItems li").each(function(){
    if ($(this).is('#mypreferedid')) {
       //do something here
       return false; //to stop cycling
    }
  });

Если вы не знаете id элемента, но знаете его позицию, вы можете сделать это:

  $("ul.selectedItems li").each(function(index, element){
    if (index == selectedPosition) {
       //do something here
       return false; //to stop cycling
    }
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...