从具有ID jquery的链接中查找正确的父div?

时间:2011-10-13 18:43:10

标签: jquery

我有一个我网站的更新列表,这些更新是使用while循环从mysql显示的。

while ($update = $q -> fetch(PDO::FETCH_ASSOC)) {

            echo '<div class="displayBox"><div>
            <span class="date">' . $update['dateTime'] . '</span>';
            typeColor($update);
            echo '</div>
            <p class="spacer indent">' . $update['message'] . '<a id="' . $update['id'] . '" class="delete deleteUpdate" href="#">Delete</a></p>
            </div>';
        }

当有人点击删除按钮时,我会运行一个简单的jquery ajax请求,如:

$('.deleteUpdate').click(function() {

var id = $(this).attr('id');
$.ajax({data: {deleteUpdate: id},
            success: function() {

        window.location = pageURL;
    }
});
});

成功后我重新加载页面,是否可以不重新加载页面而是隐藏已删除的更新,保存服务器请求?如何让jquery使用class =“displayBox”找到正确的父级?

由于

3 个答案:

答案 0 :(得分:1)

尝试使用jquery parents with selector -

演示 - http://jsfiddle.net/BgnXL/2/

$('.deleteUpdate').click(function() {
  // self for ajax handling
  var self = $(this);
  var id = self.attr('id');
  self.parents('.displayBox').hide();
});

答案 1 :(得分:0)

尝试:

$('#' + id).closest(".displayBox").hide();

答案 2 :(得分:0)

您可以使用父功能。 http://api.jquery.com/parent/ 我会把它放在click事件的回调中。

var self = $(this);
$.ajax({ success:function() {
  self.parent().hide();
}