我有一个项目列表,您可以通过ajax删除它们。 现在,当我删除所述列表中的最后一项时,我希望它显示一条消息。我尝试了几件事,比如询问容器div是否有子,但它失败了。代码将是这样的:
$.ajax({
type: "DELETE",
data: {
_token : token
},
url: "item/" + id,
success: function (data) {
$("#item-" + id).fadeOut("normal", function() {
$(this).remove();
$("#item-list").not(':parent').text("Nothing to do.");
});
},
error: function (data) {
console.log('Error:', data);
}
});
答案 0 :(得分:2)
您可以尝试检查元素的子计数:
if ($('#item-list').children().length <= 0) {
// Show your message
}
答案 1 :(得分:0)
检查删除的最后一个元素是否是父级中的最后一个元素 并从提供的示例代码:
您可以尝试这样:
$.ajax({
type: "DELETE",
data: {
_token: token
},
url: "item/" + id,
success: function(data) {
$("#item-" + id).fadeOut("normal", function() {
$(this).remove();
if ($(this).attr("id") == $("[id^=item-]:last").attr("id")){
// here you can check if the removed element's id is
// same to the last element's id in list
alert('last element removed'); }
});
},
error: function(data) {
console.log('Error:', data);
}
});
所以这部分将返回组中的最后一个元素;使用id而非class时,您可以选择以id = item-
开头的元素:
$("[id^=item-]:last")
如需进一步阅读,请转至jQuery API - Selectors &安培; W3 Schools jQuery Selectors