首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery ()返回undef

jquery ()返回undef
EN

Stack Overflow用户
提问于 2015-06-30 16:51:37
回答 1查看 57关注 0票数 0

在通过JSON接收数据并在表上添加内容之后,使用事件委托来捕获该内容的链接,但是当您单击动态创建的链接时,希望访问包含数据id的tr元素。但这是我回来的时候。有人能帮我吗?editarComercial()正在调用prev()

Javascript:

代码语言: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:

代码语言:javascript
复制
    <div id="content">
    <table id="listagemComercial">
        <thead>
            <tr>
                <th>Nome</th>
                <th>Ações</th>
            </tr>
        </thead>
    </table>
</div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-30 16:54:27

.edit-comercial没有前一个元素,它是TD中的第一个元素。

您可能希望closest()能够遍历到该行

代码语言:javascript
复制
function editarComercial(trthis) {
    alert( $(trthis).closest('tr').data('id') );
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31143999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档