我必须在数组中插入一些Dom元素,有时还要从数组中删除。

这是我在做什么:

var myDOMS = new Array();
myDOMS.push($("#myDiv"));

var element_to_remove = $("#myDiv");
var index = $.inArray(element_to_remove, myDOMS);
if (index > -1) {
  myDOMS.splice(index, 1);
}


有关删除的部分无效。你知道我在做什么错吗?可能吗?

最佳答案

每次评估$("#myDiv")时,您都会得到一个新对象。因此,这永远是不正确的:

$("#myDiv") === $("#myDiv")


如果要像这样工作,则应真正使用DOM元素引用。像这样:

var myDOMS = new Array();
myDOMS.push($("#myDiv").get(0));

var element_to_remove = $("#myDiv").get(0);
var index = $.inArray(element_to_remove, myDOMS);
console.log(index);
if (index > -1) {
  myDOMS.splice(index, 1);
}

关于javascript - 从数组中删除DOM元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48667992/

10-11 21:39