在通过JSON接收数据并在表上添加内容之后,使用事件委托来捕获该内容的链接,但是当您单击动态创建的链接时,希望访问包含数据id的tr元素。但这是我回来的时候。有人能帮我吗?editarComercial()正在调用prev()
Javascript:
$(document).ready(function(){
function editarComercial(trthis) {
alert($(trthis).prev().prev().data('id'));
}
function listaComercial(){
url = BASE_URL + 'comercial/ajaxrequest/listagem';
$.getJSON(url,function(data){
var trs = [];
$.each(data,function (key){
tr = "<tr data-id=\""+data[key].id+"\">";
tr += "<td>"+data[key].nome+"</td>";
tr += "<td><a href=\"javascript:void(0);\" class=\"edit-comercial\">Editar</a>";
tr += "<a href=\"javascript:void(0);\" class=\"del-comercial\">Excluir</a></td>";
tr += "</tr>";
trs.push(tr);
});
$("<tbody/>",{
html: trs.join("")
}).appendTo("#listagemComercial");
});
}
$(document).on('click','a.edit-comercial',function(){
editarComercial(this);
});
listaComercial();
});HTML:
<div id="content">
<table id="listagemComercial">
<thead>
<tr>
<th>Nome</th>
<th>Ações</th>
</tr>
</thead>
</table>
</div>发布于 2015-06-30 16:54:27
.edit-comercial没有前一个元素,它是TD中的第一个元素。
您可能希望closest()能够遍历到该行
function editarComercial(trthis) {
alert( $(trthis).closest('tr').data('id') );
}https://stackoverflow.com/questions/31143999
复制相似问题