检查最后删除的元素是否是父

时间:2017-03-21 20:27:30

标签: javascript jquery

我有一个项目列表,您可以通过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);
        }
    });

2 个答案:

答案 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