2015-03-13 127 views
0

我正在使用“可排序”的jQuery元素,并尝试从应用程序中重新排序它们。有点following this example从列表变量获取项目/对象(jQuery)

我所做的是:

1)创建可排序的项目列表。一切工作正常

2)所有项目现在添加到这个列表项变量,删除原来的列表

var ListItems = $('#lstSortablePSU').find('li'); 
    $('#lstSortablePSU').empty(); 

3)在一个循环中我需要仰视“礼”元素与特定的ID在listItems中变量并将它们添加回可排序列表容器。 喜欢的东西:

$('#lstSortablePSU').append(ListItems['#li' + PSUname]); 

但我想通过数组的索引不是关键这个/ \查找。

FYI:我listItems中的变量看起来像这一步后2

enter image description here

+0

澄清和简化: 鉴于上面的“ListItems”变量,如何通过匹配ID来检索元素? 因此,例如,我需要获取元素#liDVDD33,所以结果应该与做ListItems [5] – Borisw37 2015-03-13 16:01:52

+0

相同如果你想获得ID为“liDVDD33”的元素,为什么不做'$('#liDVDD33 “)'? – Tomalak 2015-03-13 16:32:00

+0

,因为我没有试图从DOM中获取这个元素,而是从数组“ListItems” – Borisw37 2015-03-13 17:49:12

回答

1

据我了解,你要切换列表项根据自己的ID是否在参考值的数组知名度。

那么,让我们来做这个。

var refValues = ['various', 'ids']; 

$('#lstSortablePSU li').toggle(function() { 
    var refId = this.id.replace(/^li/, ''); 

    return $.inArray(refValues, refId) > -1; 
}); 

注意.toggle()接受truefalse显示或隐藏的元素,但它也接受一个函数,计算该值。