我尝试获取表中按钮的 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 监听器中的注释是,当我单击按钮时。
最佳答案
对代码进行一些重构:
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();
});
- 使用
appendTo()
(或append()
、before()
等...)而不是html()
附加 DOM 元素; - 使用
index()
获取任意元素的索引; - 不要对事件使用箭头函数,
this
could not be what you're expecting ; -
$(function() { })
不是用于此目的,它用于绑定(bind)document.ready
事件中的事件。它不应该在另一个事件中使用; - 尝试为变量提供函数名称。避免使用诸如
b
或c
之类的名称。
关于javascript - 获取 tablerow 中的按钮 rowIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58062589/