Jquery多删除对象

时间:2016-01-08 12:51:34

标签: javascript jquery draggable droppable

function clear(node) {
  if (Obj != null) {
    $.each(Obj, function(key, val) {
      if ($('#selectable li#' + key).length == 1) {
        $('#selectable li#' + key).replaceWith('<span id="' + key + '"></span>');
      }
    });
  }
}

使用此功能,我可以“删除”列表中的一个对象,当它是唯一的对象时。然后我只用空跨度替换列表。

if ($('#selectable li#' + key).length > 1) {
  $.each($('#selectable li#' + key + 'a'), function(k, v) {
    var href = $(v).attr('href');
    if (endsWith(href, val)) {
      $(v).parent().remove();
    }
  });
}

这是我从列表中删除一个对象的方式,现在我正在尝试选择2个对象并删除它们,但我不能成功。我试过这样的事情:

if ($('#selectable li#' + key).length >= 2) {
  $.each($('#selectable li#' + key + 'a'), function(k, v) {
    var href = $(v).attr('href');
    if (endsWith(href, val)) {
      $(v).parent().remove(('#selectable li#' + key).length);
    }
  });
}

感谢支持

1 个答案:

答案 0 :(得分:0)

您可以使用以下内容更简单地完成此操作:

$('#selectable li#'+key).has("a[href$="+val+"]").remove();

我会尝试将其打破一点:

$('#selectable li#'+key)

那是你原来的选择器。

.has(...)

这会将结果过滤为内容与选择器匹配的结果。

"a[href$="+val+"]"

这是上面has(...)的选择器。这意味着<a>个元素的href属性以val结尾。

.remove()

这将从DOM中删除生成的元素集。

相关问题