给一个调用函数的对象

dan*_*y89 0 html javascript jquery

我是jQuery的新手,我试图给出一个触发函数并获取其父级ID的对象.我有HTML:

<tr id="9"><td>First</td><td class="edit"></td><td class="delete" onclick="DeleteMaster(this)"></td></tr>
Run Code Online (Sandbox Code Playgroud)

和jQuery功能:

    function DeleteMaster(f){
    var master = f.parent().attr('id');
    alert (master);
}
Run Code Online (Sandbox Code Playgroud)

但我收到一个错误:

未捕获的TypeError:对象#没有方法'parent'

怎么了?

Cod*_*gue 5

您传入DOM元素,需要将其转换为jQuery对象:

function DeleteMaster(f){
    var master = $(f).parent().attr('id');
    alert (master);
}
Run Code Online (Sandbox Code Playgroud)

你不应该声明这样的onclick处理程序.这是不好的做法,如果你想在将来改变它会导致麻烦.标准的jQuery方式是:

// Wait for DOM to become ready
$(function() {
    // This replaces your "onclick" and "DeleteMaster" function
    $(".delete").on("click", function() {
        // Now you can access that <td> by calling $(this)
        var master = $(this).parent().attr("id");
    });
});
Run Code Online (Sandbox Code Playgroud)

这样,您就不必在HTML标记中添加代码.