我不确定是否有更好的方法来完成此操作,但是我有一个ul来过滤每个li元素的数据类型值。这适用于一个过滤器,因为它作为ul对象启动,然后返回一个数组或类似于正确的li元素的数组,但是.find看起来不适用于对象数组,只有单个ul对象。如果有一种简单的方法将li对象转换回第二个过滤器的单个对象,或者有更好的方法来过滤数据类型值的li数组。先谢谢你。将jQuery对象数组转换为单个对象
编辑:整个代码太长,不能在这里发布,但是,$data = $('#records');
是什么给了我ul,然后var $filteredData = $data.find('li[data-type*= ' + $($filterType1+":checked").val() + ' ]');
是什么正确给我第一个过滤的记录。
就这样,我得到了第一个过滤器后的24个项目的数组,但是,然后第二个过滤器的零,即使应该有多个过滤器。为了测试,我然后没有过滤,但只是找到每一个li,并尝试运行该数组上的第一个过滤器,并且失败了。所以看起来好像.find不能在数组上运行。
这工作:
$data = $('#records');
var $filteredData = $data.find('li[data-type*= ' + $($filterType1+":checked").val() + ' ]');
这些都失败:
$data = $('#records');
var $filteredData = $data.find('li[data-type*= ' + $($filterType1+":checked").val() + ' ]');
$filteredData = $filteredData.find('li[data-type*= ' + $($filterType2+":checked").val() + ' ]');
$data = $('#records');
var $filteredData = $data.find('li');
$filteredData = $filteredData.find('li[data-type*= ' + $($filterType1+":checked").val() + ' ]');
请向我们显示您的代码。 – 2012-01-15 21:32:21
你看过[jQuery map](http://api.jquery.com/jQuery.map/)函数吗? – j08691 2012-01-15 21:41:51
链式过滤器在jQuery中正常工作。您将需要发布更多代码来诊断此问题。 http://jsfiddle.net/ZsJaQ/ – mrtsherman 2012-01-16 03:56:29