将jQuery对象数组转换为单个对象

将jQuery对象数组转换为单个对象,jquery,arrays,object,html-lists,Jquery,Arrays,Object,Html Lists,我不确定是否有更好的方法来实现这一点,但是我有一个ul,我正在过滤每个li元素的数据类型值。这对于一个过滤器来说很好,因为它以ul对象开始,然后返回一个数组,或者类似数组的正确li元素。但是,对于对象数组,find似乎不起作用,只有单个ul对象。如果有一种简单的方法可以将li对象转换回第二个过滤器的单个对象,或者有更好的方法可以根据数据类型值过滤li数组。先谢谢你 编辑:整个代码太长,无法在此处发布,但是,$data=$(“#记录”)为我提供了ul,然后var$filteredData=$dat

我不确定是否有更好的方法来实现这一点,但是我有一个ul,我正在过滤每个li元素的数据类型值。这对于一个过滤器来说很好,因为它以ul对象开始,然后返回一个数组,或者类似数组的正确li元素。但是,对于对象数组,find似乎不起作用,只有单个ul对象。如果有一种简单的方法可以将li对象转换回第二个过滤器的单个对象,或者有更好的方法可以根据数据类型值过滤li数组。先谢谢你

编辑:整个代码太长,无法在此处发布,但是,
$data=$(“#记录”)
为我提供了ul,然后
var$filteredData=$data.find('li[data type*='+$($filterType1+“:checked”).val()+']
正确地为我提供了第一个筛选记录

就这样,在第一个过滤器之后,我得到了一个包含24个项目的数组,但是在第二个过滤器之后,我得到了零,尽管应该有多个项目。为了测试,我没有过滤,只是用find获取了每个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() + ' ]');

您正在错误地使用find。您需要jQuery的。当你打电话的时候

$filteredData = $filteredData.find('li[data-type*=x]');
它搜索filteredData中每个元素的子元素。它不搜索Filteredata本身的元素


您研究过该函数吗?链式过滤器在jQuery中运行良好。您需要发布更多代码来诊断此问题。所以,似乎没有人知道,也许基于数据类型属性搜索类似li元素的数组更容易些?谢谢!我昨天就知道了,但是没有时间在这里发表评论,所以非常感谢你回答我的问题!