1

我想做的是使用 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 is not a function。我查看了 sort 函数,是的,它可以按字母顺序对数组进行排序。rows是一个tr对象的数组。有什么解决方法吗?

4

1 回答 1

2

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

var rows = $(this.bDiv).find("tr").get();
于 2010-11-17T09:43:00.930 回答