jquery - 如何使用 jQuery Tablesorter 对包含两个 div 的列进行排序?

标签 jquery sorting html tablesorter

我正在使用 jQuery Tablesorter对表格进行排序。我的一个专栏看起来像这样:

<td>
    <div>
        <span class="green">Yes</span> <a href="##">(unverify)</a>
    </div>
    <div class="hidden">
        <span class="red">No<>/a> <a href="##">(verify)</a>
    </div>
</td>

换句话说,有两个 div,一个以绿色显示 Yes 并带有链接,另一个以红色显示 No 并带有链接。其中一个 div 始终隐藏,只要用户单击链接,这两个就会切换。

jQuery Tablesorter 无法对此列进行排序。有没有办法让它这样做,还是我必须修改 HTML 才能让它工作?

最佳答案

您可以使用 textExtraction回调:

$(document).ready(function() { 

    // call the tablesorter plugin 
    $("table").tablesorter({ 
        // define a custom text extraction function 
        textExtraction: function(node) { 
          // check you're at the right column
          if ($(node).find('.green').length == 1) {
            // extract data from markup and return it  
            return $(node).find('div:not(.hidden)').find('span').text();;
          }
          else {
            return $(node).text();
          }
        } 
    }); 
}); 

我还没有测试过,但理论上应该可行

关于jquery - 如何使用 jQuery Tablesorter 对包含两个 div 的列进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7575232/

相关文章:

javascript - 将 css 样式应用于多个 jquery 缓存变量而不重复 css 样式

javascript - css html div 向左移动无法正常工作

java - Lucene 5 排序问题(UninvertedReader 和 DocValues)

html - vertical-align 不将 list-style-image 与文本对齐

python - 我正在尝试从需要登录的网站中抓取 HTML,但没有获取任何数据

javascript - Delphi TWebBrowser 无法从 LocalHost 运行 Javascript

javascript - 希望通过单击按钮进行搜索,而不是通过键盘输入进行搜索。 PHP 和 MYSQL

javascript - 单击不起作用滑出菜单栏

c# - 列表(排序)的自定义 IComparer 问题 - c#

php - 按到数字的距离对数组进行排序