所以我有一系列数字,让我们说["1", "3", "2"]
它们对应于我给某些元素的data-cardNumber属性的值。
我希望删除数组中包含data-cardNumber值的所有元素。
我尝试通过迭代数组并为调用.remove()
的数组中的每个项构建一个选择器来做到这一点,但这不起作用。
我认为选择器过于复杂,因为它跨越多个字符串。
如何使用data-cardNumber属性迭代数组和.remove()
所有元素,其值在数组中?
以下是我尝试过的代码:
for(var i=0; i<swipedAwayCards.length; i++){
$('[data-cardNumber="'+swipedAwayCards[i]'"]').remove();
// i'm trying to construct a selector like [data-cardNumber="1"]
}
答案 0 :(得分:1)
看起来这只是一个语法错误,它应该出现在控制台中:
$('[data-cardNumber="'+swipedAwayCards[i]+'"]')
(你在连接中错过了最后的+
。
答案 1 :(得分:0)
您可以尝试以下方法:
$('[data-cardNumber="'+swipedAwayCards[i] + '"]').each(function() {
$(this).remove();
});
这应该工作而不是执行for循环,因为jquery已经能够遍历选择器的所有匹配。
答案 2 :(得分:0)
您可能需要执行以下任一操作
var a = [1,2,3,4];
for(var i = 0 ; i< a.length; i++){
delete(a[i]); // This resets the value to undefined
}
产生以下结果
[未定义,未定义,未定义,未定义]
或
var a = [1,2,3,4];
var b;
for(var i = 0 ; i< a.length; i++){
b = a.pop();// This actually removes the Element from array and puts it in the variable b
}
结果:** b = 1最后要弹出的最后一个元素是1,b = [] **