jQuery选择器从特定的无序列表中获取li对象

时间:2009-08-25 13:50:09

标签: jquery css-selectors

我正在尝试从无序列表中获取特定的li元素。

我这样做:

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

知道为什么这不起作用?

3 个答案:

答案 0 :(得分:3)

filter方法采用常规jQuery选择器,因此您应该编写filter("#"+list[i].ID)。 (假设list[i].IDid元素的li属性。此外,filter方法搜索jQuery对象中包含的元素,而不是它们的子元素;你应该调用children方法。请参阅documentation


但是,最好的方法是:

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

有关jQuery选择器的更多信息,请参阅here

答案 1 :(得分:1)

这只返回ul,你的选择器应该返回li的

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

但是如果你有李的身份就可以做到这一点

var listItem = $('#' + liId);

答案 2 :(得分:0)

我认为你可以这样做:

  $("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
    }
  });