我想通过索引删除一些带有类的元素。我来介绍一下。
首先,我创建了一些div,在从ajax获取结果后给它们提供类和元素。
$.ajax({
type: "POST",
url: "myphp.php",
data: {label: label},
success: function(result) {
var data ="";
for (i = 0; i<result.item.length; i++){
var data = result.item[i].data;
var div = $("<div class ='item'></div>");
var divData= "<p class ='divData' > "+ divData+"</p>";
}
},
dataType: "json",
error: function(xhr){
console.log("error");
}
});
然后,我想用class =&#34; detail&#34;删除所有不必要的div。点击必要的。
$( document ).on( 'click', '.detail', function() {
var numItems = $('.detail').length;
for ( i = 0; i<= numItems; i++) {
if ( i != $(this).index()){ // if the div is not selected
$(".detail").remove(i);//remove unnecessary div
}
}
});
我不知道如何通过索引删除 class =&#34;详细信息&#34; 中的一个元素,为什么不能使用$(".detail").remove(i);
?这是合乎逻辑的,不是吗?
答案 0 :(得分:3)
尝试在此上下文中使用.not()
过滤器来简化您的工作,
$(document).on( 'click', '.detail', function() {
$(".detail").not(this).remove();
});
无需迭代所有元素。