我正在尝试使用jquery表排序器插件,但是当我尝试对表进行排序时出现错误。
这是错误消息:
cannot read property '1' of undefined
这是我的HTML代码:
<table id='tweetResult' class="tablesorter" style="width:500px;">
<thead>
<th>Photo</th>
<th>Name</>
<th>Status</th>
<th>Place Name</th>
<th>Coordinate</th>
<th>Created At</th>
</thead>
<tbody>
</tbody>
</table>
tbody内容采用js格式:
$(document).ready(function(){
$("#tweetResult").tablesorter();
});
(function(){
var location = new Array();
var query = '%23CM0655';
var url = "search.php";
$.post(url, {query:query}, function(tweets){
console.log(tweets);
$("#tweetResult tbody").html("");
var geoEnabled = false;
var placeName = "";
var countryName = "";
for(var i=0; i<tweets.statuses.length; i++){
var row = $("<tr></tr>");
var img = $("<td><img src='" + tweets.statuses[i].user.profile_image_url + "' class='tweetpic'/></td>");
row.append(img);
// row.append($("<td></td>").html(tweets.statuses[i].user.screen_name));
row.append($("<td></td>").html(tweets.statuses[i].user.screen_name));
row.append($("<td></td>").html(tweets.statuses[i].text + "<br/>"));
geoEnabled = tweets.statuses[i].user.geo_enabled;
if(geoEnabled){
placeName = tweets.statuses[i].place.name;
countryName = tweets.statuses[i].place.country;
if(placeName != null){
row.append($("<td></td>").html(placeName + "," + countryName + "<br/>"));
}
row.append($("<td></td>").html("Location: " + tweets.statuses[i].place.bounding_box.coordinates[0][0][0] + ", " +
tweets.statuses[i].place.bounding_box.coordinates[0][0][1] + "<br/>"));
row.append($("<td></td>").html(tweets.statuses[i].created_at));
}
$("#tweetResult tbody").append(row)
}
});
setTimeout(arguments.callee, 60000);
})();
这是console.log(tweets)输出:
Object
search_metadata
:
Object
statuses
:
Array[10]
__proto__
:
Object
有人能告诉我如何修复此错误。提前谢谢。
答案 0 :(得分:0)
我通过添加超时功能
解决了这个问题setTimeout(function(){
$('table').tablesorter();
}, 10000);