【问题标题】:How to remove a selection of table rows from a table using detach()?如何使用 detach() 从表中删除选择的表行?
【发布时间】:2012-03-11 21:31:35
【问题描述】:

我有一个表,我想将其拆分为 x 行,应将其从表中删除并添加到我正在创建的子页面中。我可以切表,但detach() 不起作用,我不确定自己做错了什么。

这是我所拥有的:

    var rows = $( table ).find( "tbody tr, TBODY TR" ).toArray(),
        splitRows = [];

    for( i = 0; i < rows.length; i += rowsPerPageS ){

       // table rows for each subpage
       var takeAway = splitRows.push( rows.slice(i, i + rowsPerPageS ) );

       // split the tabel and create subpages
       newPage = takeAway.detach()
                         .wrap(...
       }

问题:
控制台告诉我 takeAway.detach 不是函数,我不知道自己做错了什么。如何删除我的切片表行并正确包装它们?

【问题讨论】:

  • 据我所知,takeAway 将是一个标准数组,而不是 jQuery 对象,所以你不能使用 jQuery 函数。
  • 所以如果它像上面那样成为一个 Jquery 对象......? - 不。不工作
  • @AnthonyGrist - 但我认为这是朝着正确的方向发展。如果你想回答,我会检查。
  • 如果takeAway 一个DOM元素数组,我怀疑,那么$(takeAway)应该给你一个包含这些DOM元素的jQuery对象。然后,您应该可以拨打.detach() 就可以了。如果您可以使用您当前拥有的任何内容生成jsFiddle,将会更有帮助。
  • 找到了解决方案。贴在上面。谢谢帮助!

标签: jquery jquery-mobile html-table slice detach


【解决方案1】:

刚刚找到解决方案。这有效:

var rows = $( table ).find( "tbody tr, TBODY TR" )
    splitRows = [];

for( i = 0; i < rows.length; i += rowsPerPageS ){

    // split table into array
    splitRows.push( rows.slice(i, i + rowsPerPageS ) );

    // table rows for each subpage
    var takeAway = splitRows[i],
        newPage;

    // split the table and create subpages
    newPage = takeAway.detach()
                      .wrap...

所以我想我需要先拆分成数组,然后取出各自的数组元素。

感谢您的帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    • 2013-07-13
    • 2019-03-24
    • 1970-01-01
    • 2015-01-22
    相关资源
    最近更新 更多