簡體   English   中英

獲取 rowIndex 表格行中的按鈕

[英]get rowIndex a button in a tablerow

我嘗試獲取表格中按鈕的 rowIndex? 沒有什么對我有用:

let tr = $('<tr class="tableRow"></tr>');
let td = $('<td class="noWrap"></td>');

let btn = $('<button type="button" class="btn btnEdit"></button>');
td.html(btn);

tr.html(td);
$('#table1 > tbody:last-child').append(tr);

$('.btnEditMenge').on('click', ()=>{
    $(function(){
        let rowindex = $(this).clostest('tr').rowIndex     // undefined
        let c = $(this).closest('.tableRow');              // Array[0]
        let b = $(this).parent();                          // Array[0]
    });
});

onClick Listener 中的注釋是,當我單擊按鈕時。

在您的代碼中進行一些重構:

let tr = $('<tr class="tableRow"></tr>');
let td = $('<td class="noWrap"></td>');
let btn = $('<button type="button" class="btn btnEdit"></button>');

btn.appendTo(td);
td.appendTo(tr);
tr.appendTo($('#table1 > tbody:last-child'));

// Or: 
// btn.appendTo(td.appendTo(tr.appendTo($('#table1 > tbody:last-child'))));

$('.btnEditMenge').on('click', function() {
    let $btn = $(this);
    let rowindex = $btn.closest('tr').index();
    let $tableRow = $btn.closest('.tableRow');
    let $parent = $btn.parent(); 
});
  1. 對 append DOM 元素使用appendTo() (或append()before()等等...)而不是html()
  2. 使用index()獲取任何元素的索引;
  3. 不要對事件使用箭頭函數this可能不是您所期望的
  4. $(function() { })不是為了那個目的,它用於在document.ready事件中綁定一個事件。 它不應該在另一個事件中使用;
  5. 嘗試為變量賦予功能名稱。 避免使用bc類的名稱。

就是這一行:

$('.btnEditMenge').on('click', ()=>{

它有效,當我將其更改為

$('.btnEditMenge').on('click', function(){

我一直以為是一樣的。。。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM