我不確定是否有更好的方法來完成此操作,但是我有一個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