jQuery TableSorter插件错误:无法读取属性' 1'未定义的

时间:2016-04-07 11:35:10

标签: javascript jquery

我正在尝试使用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

有人能告诉我如何修复此错误。提前谢谢。

1 个答案:

答案 0 :(得分:0)

我通过添加超时功能

解决了这个问题
setTimeout(function(){
   $('table').tablesorter();
}, 10000);