2009-08-25 36 views

回答

3

filter方法需要一个正规jQuery选择,所以你应该写filter("#"+list[i].ID)。 (假设list[i].IDli元素的id属性)。此外,filter方法搜索jQuery对象中包含的元素,而不是他们的子元素;您应该调用children方法。请参阅documentation


然而,最好的方式做到这一点是这样的:

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

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

1

此只返回了UL,你的选择应该返回李时珍

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

但如果你有李的ID,你可以做到这一点

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

你基本上重复我使用的代码。 – 2009-08-25 14:48:29

+1

但我做到了。 – 2009-08-25 15:08:18

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 
    } 
    }); 
相关问题