0

我如何在jquery中用this对象实现父元素。$.post我所看到的,当我将其记录为时$(this),我会获得有关POST请求详细信息的信息。如何使用thisany element对象实现最近的或父元素。

我知道,thisPOST请求中的一个对象,所以它获取请求的详细信息。

HTML

<table>
<tr>
    <td><span class="remove-file-confirm" id="aa" file-name="whatsup"></span></td>
</tr>
<tr>
    <td><span class="remove-file-confirm" id="bb" file-name="gotstuck"></span></td>
</tr>
</table>

脚本

$(".remove-file-confirm").click(function(){

    var rconfirm = confirm("Are you sure, want to delete this file");

    if (rconfirm) {
        var rfileid = $(this).attr("id");
        var rfilecode = $(this).attr("file-name");

        $.post("ajx_delete_file.php", {fid:rfileid, fcd:rfilecode}, function(return_datad){
            if (return_datad == "good") {
                var k = $(this);
                //$(this).closest("<tr>").hide();
                console.log(k); // show information on post request
                // how can i achieve .remove-file-confirm nearest tr element
            } else {
                alert("Cannot delete this file");
                console.log(return_datad);
            }
        });

    }

});
4

2 回答 2

2

尝试这个

$('#'+rfileid).closest("tr").hide();
于 2013-06-23T08:41:14.460 回答
2

当您在这样的元素范围内时,您可以预先分配元素。

在运行之前分配一个变量post

var $parent = $(this).closest("tr")

然后在 post 中使用它:

$parent.hide();

完整代码:

$(".remove-file-confirm").click(function(){

    var rconfirm = confirm("Are you sure, want to delete this file");
    var $parent = $(this).closest("<tr>")
    if (rconfirm) {
        var rfileid = $(this).attr("id");
        var rfilecode = $(this).attr("file-name");

        $.post("ajx_delete_file.php", {fid:rfileid, fcd:rfilecode}, function(return_datad){
            if (return_datad == "good") {
                $parent.hide();
                //$(this).closest("<tr>").hide();
                console.log(k); // show information on post request
                // how can i achieve .remove-file-confirm nearest tr element
            } else {
                alert("Cannot delete this file");
                console.log(return_datad);
            }
        });

    }

});
于 2013-06-23T08:42:18.423 回答