ray*_*ayt 4 javascript sqlite safari jquery ios
我正在尝试使用$ .each来加速我正在使用For循环的SqlResultsetRowList的迭代.这是新代码 -
localDB.transaction(function(transaction){
    transaction.executeSql(query, [val], function(transaction, results)
    {
        var rows = results.rows;
        $.each(rows, function(i) {
            var row = results.rows.item(i);
        });
    }
    )
});
问题是i返回的不是索引而是字符串"length",它显然在那时断开.
我已经做了一些进一步的测试,这在Chrome中可以正常运行.Chrome将SqlResultsetRowList视为数组,但Safari则不然.是否有可能将结果集转换为数组,以便Safari可以使用$ .each迭代它?
所以这似乎只影响Safari和Mobile Safari,我发现以下内容足以满足我的目的.为可能处于相同情况的任何人添加.
由于Safari没有将SqlResultsetRowList视为数组,因此您需要从中创建一个.
var contacts = [];
for (i = 0; i < results.rows.length; i++){
    contacts.push(results.rows.item(i));
}
现在您已经根据结果创建了数组,您可以contacts使用迭代$.each.
$.each(contacts, function() {
    var ID = this.Contact_ID;
    //more logic here
});
| 归档时间: | 
 | 
| 查看次数: | 1270 次 | 
| 最近记录: |