2009-08-25 90 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 
    } 
    });