所以我有以下代码:
function aFunction(obj, myData)
{
$.ajax({
type: "POST",
url: 'myUrl',
data: myData,
async: true,
dataType: 'json',
success: function(data)
{
// ???
}
});
}
我收到的data
(正确)是一组布尔值。现在我需要根据每个布尔值显示jQuery对象:jQuery对象的数量和数组的大小是相同的。
现在,以下作为我的成功回调:
success: function(data)
{
//obj.show();
var pcom_array = $.makeArray(obj);
for(var i = 0; i < data.length; i++)
{
console.log(pcom_array[i]);
if(data[i] === true)
{
pcom_array[i].style.display = '';
}
}
}
然而,将jQuery对象作为一个数组进行转换然后遍历数组并不会让我感到非常“jQuery-ish”。是否有jQuery方法或其他可以简化此方法的方法?
答案 0 :(得分:2)
您可以使用.toggle() - 假设obj是一个jQuery包装器,其中包含一组目标元素,其顺序与数据数组中的顺序相同
success: function(data) {
obj.each(function(idx, el){
$(this).toggle(data[idx])
})
}