Javascript 对通过JQuery追加的HTML表进行排序

Javascript 对通过JQuery追加的HTML表进行排序,javascript,jquery,tablesorter,Javascript,Jquery,Tablesorter,您好,我正在尝试使用Tablesorter()对通过JQuery.appends生成的表进行排序。这就是我的代码的外观: $(document).ready(function() { *Lotsa more code .....* $.get("../skillqueue",{keyid: keyid, charid: charid},function(xmlskillqueue){ console.log("XML Skillqueue"); console.

您好,我正在尝试使用Tablesorter()对通过JQuery.appends生成的表进行排序。这就是我的代码的外观:

$(document).ready(function() {


*Lotsa more code .....*



    $.get("../skillqueue",{keyid: keyid, charid: charid},function(xmlskillqueue){
    console.log("XML Skillqueue");
    console.log(xmlskillqueue);

    //Variables for
    var rowsets = xmlskillqueue.getElementsByTagName("rowset");
    var skillrows;

    for(var i = 0; i < rowsets.length; i++){
        if(rowsets[i].getAttribute("name") == "skillqueue"){
            skillrows = rowsets[i].getElementsByTagName("row");
        }
    }

    //Defines Table Headers
    $("#tableskillqueuelist").append(
            "<thead>" + 
            "<tr>" + 
            "<th>Order: </th> "+
            "<th>Skill Name: </th> "+
            "<th>Training to: </th> "+
            "<th>Starts:</th> "+
            "<th>Ends:</th> "+
            "</tr> "+
            "</thead>"+
            "<tbody>"
    );

    for(var i = 0; i < skillrows.length; i++){
        (function(i, skillrows) {

            $.get("../getitemname", {itemid:skillrows.getAttribute("typeID")},function(itemname){               
                $("#tableskillqueuelist").append(
                        "<tr> " + 
                        "<td>" + skillrows.getAttribute("queuePosition") + ". " +                           
                        "<td>" + itemname + "</td>" +
                        "<td>" +  "|Train to: " + skillrows.getAttribute("level") + "</td>" +
                        "<td>" +  "|Training Starts: " + skillrows.getAttribute("startTime") + "</td>" +
                        "<td>" +  "|Training Ends: " + skillrows.getAttribute("endTime") + "<td>" +                     
                        "</tr>"
                );
            })
        })(i, skillrows[i]);                    
    }
    //Ends the table body
    $("#tableskillqueuelist").append("</tbody>");
});
});
$(文档).ready(函数(){
*Lotsa更多代码*
$.get(“../skillqueue”,{keyid:keyid,charid:charid},函数(xmlskillqueue){
log(“XMLSkillQueue”);
log(xmlskillqueue);
//变量
var rowsets=xmlskillqueue.getElementsByTagName(“行集”);
var skillrows;
对于(var i=0;i

现在我想知道我需要做什么才能让它成功运行$(“#tableskillqueuelist”).tablesorter();方法。因为每次我尝试运行它时,#tableskillqueuelist似乎都是空的。

您需要告诉table sorter您已经更改了数据,并且希望通过触发事件对其进行排序

文档中的示例:

$("table").tablesorter(); 
  $("#ajax-append").click(function() { 
     $.get("assets/ajax-content.html", function(html) { 
         // append the "ajax'd" data to the table body 
         $("table tbody").append(html); 
        // let the plugin know that we made a update 
        $("table").trigger("update"); 
        // set sorting column and direction, this will sort on the first and third column 
        var sorting = [[2,1],[0,0]]; 
        // sort on the first column 
        $("table").trigger("sorton",[sorting]); 
    }); 
    return false; 
});