jQuery技术:无论排序如何获取最后一个表行?

我有一个应用于table-responsive类,我正在使用下拉列表。 因此,下拉总是落在桌子后面。 正如我之前听到的那样,这种情况无法解决。 所以我试图从表中获取最后一行并添加dropup类,但由于表是可排序的,因此最后一行可能会在每种排序中发生变化。

我试着申请这个:

 $("table#MyTable>tbody>tr:last>td>div").addClass("dropup"); 

…工作,但是当用户对表进行排序时,最后一行不再是最后一行。

示例: http : //jsfiddle.net/bqg0cyyL/ (应用了dropup的最后一行)

怎么只有最后一行获得dropup类(无论排序)?

    最终答案(成功!)

    最后感谢这个问题: 如何在外部JS脚本完成运行后运行一个函数我已经到达下面的解决方案:

    的jsfiddle

     $(document).ready(function() { $("#MyTable").on('sorted', function(){ var lastRow = $("#MyTable").find("tbody tr:last"); // Removing dropup class from the row which owned it $("#MyTable").find("tbody tr.dropup").removeClass("dropup"); // Adding dropup class to the current last row lastRow.addClass("dropup"); }); }); 

    现在已经过时,但它显示了最终答案的历史

    jQuery代码:

     $(document).ready(function() { $("th").click(function() { var lastRow = $(this).closest("table").find("tbody tr:last"); if(!lastRow.hasClass("dropup")){ // Removing dropup class from the row which owned it $(this).closest("table").find("tbody tr.dropup").removeClass("dropup"); // Adding dropup class to the current last row lastRow.addClass("dropup"); } }); }); 

    请注意,您的dropup类未在jsfiddle中指定,因此我只能假设您提供的内容。 如果您有任何疑问,请告诉我。

    编辑

    上面的代码不起作用。 这是因为bootstrap-sortable.js负责表的排序。 这意味着,如果上面的click事件处理程序就位,bootstrap-sortable.js将在完成后运行。

    你有两个选择:

    因此,请尝试选项1并查看它是如何适用的,否则在外部JS文件结束后询问有关如何实现事件侦听器的新问题是值得的。

    因为你的主要问题是桌子后面的下拉列表。 要解决这个问题,请使用下面的jQuery代码。

     $('.table-responsive').on('show.bs.dropdown', function () { $('.table-responsive').css( "overflow", "inherit" ); }); $('.table-responsive').on('hide.bs.dropdown', function () { $('.table-responsive').css( "overflow", "auto" ); }) 

    由于滚动,响应表内的引导按钮下拉不可见

      以上就是jQuery教程分享无论排序如何获取最后一个表行?相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/jquerytutorial/561307.html

      (0)
      上一篇 2021年2月4日
      下一篇 2021年2月4日

      精彩推荐