jQuery过滤&表的排序 - 如何查看“内部”html标签

时间:2011-09-29 11:55:28

标签: jquery tablesorter

我正在使用tablesorter library。我的问题是我的表格内的单元格中的每个项目都是一个链接,并且库开始错误地排序,因为它正在查看单元格内的HTML而不是文本。换句话说,在以下单元格内容中;

<a href="ledger.php?var=345345">$100.64</a>排序:

<a href="ledger.php?var=345345">代替$100.64

我知道有办法查看单元格内的文本。我开始使用他们在网站上列出的简单方法text extraction method。但是,我不能为我的生活让它正常运作。

使用我的JS代码,有人能告诉我如何正确应用此文本提取吗?这就是我现在所拥有的(下图)。

当“文本提取”行没有被注释掉时,此代码的当前结果是插件无法加载,并且页面上的所有jQuery都失败了。 Web开发人员插件中的控制台错误是:

  

错误:node.childNodes [0] .childNodes [0]未定义源文件:

$(document).ready( function () {
            // TableSorter
                $("#dt-results") 
                .tablesorter({
                                widgets: ['zebra'], 
                                sortList: [[0,1]],

                                // define a custom text extraction function 
                                textExtraction: function(node) { 
                                    // extract data from markup and return it  
                                    return node.childNodes[0].childNodes[0].innerHTML; 
                                } 
                })
                .tablesorterPager({container: $("#pager")})
                .tablesorterFilter({filterContainer: $("#filter-box"),
                              filterClearContainer: $("#filter-clear-button"),
                              filterCaseSensitive: false,
                              filterWaitTime: 100});
        });

由于

1 个答案:

答案 0 :(得分:5)

由于您使用的是jQuery,为什么不使用text()?见http://api.jquery.com/text/

textExtraction: function(node) {
    return $(node).text();
}