我正在尝试从无序列表中获取特定的li元素。
我这样做:
var listItem = $('ul.selectedItems').filter(list[i].ID);
知道为什么这不起作用?
答案 0 :(得分:3)
filter
方法采用常规jQuery选择器,因此您应该编写filter("#"+list[i].ID)
。 (假设list[i].ID
是id
元素的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
}
});