Javascript 从表中获取索引(tr没有ID)

Javascript 从表中获取索引(tr没有ID),javascript,jquery,dom,dynamic,html-table,Javascript,Jquery,Dom,Dynamic,Html Table,我正在使用以下代码动态创建并附加到表a和a中: $("#table1").append( '<tr>'+ '<td style="cursor:pointer" onclick="pass.data.carregar(this.parentNode.rowIndex-2);">'+$("#DRVR_NAME").val()+'</td>'+ '</tr>'); $("#tab

我正在使用以下代码动态创建并附加到表a和a中:

$("#table1").append(
        '<tr>'+
        '<td style="cursor:pointer" onclick="pass.data.carregar(this.parentNode.rowIndex-2);">'+$("#DRVR_NAME").val()+'</td>'+
                    '</tr>');
$("#table1>tbody>td>tr."+teste+"").remove();
但是没有成功!test变量是我为寄存器自动定义的数字


有什么帮助吗

动态创建每个单元格时设置唯一的id属性

<tr id="uniqueID"><td>Cell Content</td></tr>

您可以在每个驱动程序名称旁边添加一个小x,通过稍微更改代码来删除该td:

$("#table1").append('<tr>'+'<td style="cursor:pointer" onclick="pass.data.carregar(this.parentNode.rowIndex-2);">'+$("#DRVR_NAME").val()+'<span onclick="$(this.parentNode).remove()">x</span></td>'+'</tr>');
或者,您可以将另一个函数添加到要绑定到的click handler中,该函数将以预定义的方式显示一条消息,询问用户是否要删除该元素:

$("#table1").append('<tr>'+'<td style="cursor:pointer" onclick="pass.data.carregar(this.parentNode.rowIndex-2);askDelete(this);">'+$("#DRVR_NAME").val()+'</td>'+'</tr>');
然后在HTML中的某个位置定义消息区域id='messageArea',并在代码中定义以下函数:

askDelete(el){
    var MA=$('#messageArea');
    MA.empty();
    MA.html('Do you want to delete ' + el.innerHTML + '?<br>').append('<span id="confirmDelete">delete</span>&nbsp;<span id="cancelDelete">cancel</span>')
    MA.find('#confirmDelete').click(function(){$(el).remove();});
    MA.find('#cancelDelete').click(function(){MA.empty();})
}
然后根据需要设置删除和取消按钮的样式。

如果测试是要删除的行的基于0的索引

$("#table1>tbody>tr:eq("+test+")").remove();

删除代码假定TD上有一个类。您必须通过引用隐藏字段中的值以:eq作为目标。如果隐藏字段中的值是一个数字,用户选择的td的索引=您的计数器,您可以尝试以下操作:

var hiddenFieldValue = $('input.hiddenFieldClassName').val();

$("#table1>tbody>tr>td:eq("+hiddenFieldValue+")").remove();

你不能给你要添加的东西添加一个id属性吗?除非有一个唯一的标识符,或者它总是保持相同的顺序,否则没有任何方法可以针对特定的元素。但是,如果您总是知道它将是一行中的第一个单元格,那么您可以使用.index或.eqTR来代替TD。顺便说一下,这可能是您的问题。如果您有不止一个表单元格,您将在代码中遇到问题。@MarcySutton嗨,Marcy,很遗憾,我无法向追加中添加Id,因为它们将接收另一个计数器,由另一个函数传递。我这里有一个计数器,如果我能用这个选择器选择TR,那就太好了,但我不知道怎么做,我尝试了很多方法,但都没有成功。假设我们有一个名为USERID的计数器,如何使用该值获得所需的TR?如何从用户触发删除?@kingjiv用户从列表中选择项目,然后将其加载到所需字段,然后用户可以选择删除它@MarcySutton Marcy,我必须数一数TDs。我听了你的建议,关于TD之前的TR提交,这可能是一个打字错误,但仍然无法让它工作。我的计数器实际上是一个隐藏字段,它的值会根据用户列表表中选定的TD进行更改。我尝试过这样做,但无法使其工作,因为我有一个数组,用户每次添加/删除元素时都必须更新该数组。实际上,它可以工作,但是如果我删除表中的第一个元素,我就无法访问其他元素。Brandom,它可以工作,但是它开始从零开始删除,这是一个文本!我可以从n开始吗。2?是的,当然,用测试+2代替上面的测试。布兰登,它工作得很好!!谢谢你的帮助,我无法想象这是如此简单。。。最简单的解决方案最难找到!!再次非常感谢!:如果Brandon解决了问题,你应该点击他答案左边的复选标记,将他的答案标记为已接受=@阿曼多·弗雷尔——我很高兴它成功了。您自己非常接近解决方案,只需要轻轻推一下。
var hiddenFieldValue = $('input.hiddenFieldClassName').val();

$("#table1>tbody>tr>td:eq("+hiddenFieldValue+")").remove();