rows.sort不是一个函数,其中rows是tr元素的数组

时间:2010-11-17 09:39:33

标签: javascript jquery flexigrid

我想要做的是使用Flexigrid jQuery插件为静态表进行排序。该文件的r3版本需要应用一些补丁,以便排序适用于已有的表和我在互联网上找到的其中一个补丁,我得到了这个代码样本,我无法使其正常运行。 这段代码给了我一些问题。

var rows = $(this.bDiv).find('tr');
rows.sort(function(a, b) {
                    var compA = $(a).find("td:eq("+col+")").text();
                    var compB = $(b).find("td:eq("+col+")").text();
                    if (p.sortorder=="asc")
                        orderby = 1;
                    return (compA > compB) ? -orderby : 0;
                });

我得到的错误是 rows.sort不是函数。我查看了sort函数,是的,它可以按字母顺序对数组进行排序。 tr 对象的数组。对此有何解决方法?

1 个答案:

答案 0 :(得分:2)

find()返回一个jQuery对象,而不是一个元素数组。您需要在该对象上调用get()

var rows = $(this.bDiv).find("tr").get();