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);
}
});
}
感谢支持
答案 0 :(得分:0)
您可以使用以下内容更简单地完成此操作:
$('#selectable li#'+key).has("a[href$="+val+"]").remove();
我会尝试将其打破一点:
$('#selectable li#'+key)
那是你原来的选择器。
.has(...)
这会将结果过滤为内容与选择器匹配的结果。
"a[href$="+val+"]"
这是上面has(...)
的选择器。这意味着<a>
个元素的href
属性以val
结尾。
.remove()
这将从DOM中删除生成的元素集。