代码之家  ›  专栏  ›  技术社区  ›  Michael Durrant

如何替换文档。带有$但不获取table.deleteRow的QuerySelector不是函数

  •  -1
  • Michael Durrant  · 技术社区  · 5 年前

    当我使用

    const table = document.querySelector('table#home');
    

    那么以下代码工作正常

    const streetRowCount = $('table#home input[id^=street-]').length;
    const offsetForZeroIndex = 1;
    streetRowCount > 2 &&
      (table.deleteRow(skipFields + streetRowCount - offsetForZeroIndex))
    }
    

    然而,当我更换 document.querySelector 使用jquery $ ,即。

    const table = $('table#home');
    

    我遇到了一个错误

    table.delete_row is not a function`
    
    2 回复  |  直到 5 年前
        1
  •  4
  •   Rory McCrossan Hsm Sharique Hasan    5 年前

    table 现在是一个jQuery对象,它们没有 delete_row() 方法(甚至 deleteRow() 方法,因为这是正确的名称)

    相反,你需要 find() 表中给定索引处的行,以及 remove() 它是这样的:

    const $table = $('table#home');
    $table.find('tr').eq(skipFields + streetRowCount - offsetForZeroIndex).remove();
    
        2
  •  3
  •   Mamun    5 年前

    HTMLTableElement.deleteRow() 是vanilla JavaScript方法,不能在jQuery引用的元素上使用。您可以使用 .remove() 相反。