1

所以我有一个数字数组,比方说["1", "3", "2"]

它们对应于我赋予某些元素的 data-cardNumber 属性的值。

我希望删除数组中具有 data-cardNumber 值的所有元素。

我尝试通过遍历数组并为数组中调用的每个项目构造一个选择器来做到这一点.remove(),但这不起作用。

我认为选择器太复杂了,因为它跨越了多个字符串。

如何遍历数组和.remove()具有 data-cardNumber 属性的所有元素,其值在数组中?

这是我尝试过的代码:

for(var i=0; i<swipedAwayCards.length; i++){
    $('[data-cardNumber="'+swipedAwayCards[i]'"]').remove();
    // i'm trying to construct a selector like [data-cardNumber="1"]
}
4

3 回答 3

1

看起来这只是一个语法错误,应该显示在控制台中:

$('[data-cardNumber="'+swipedAwayCards[i]+'"]')

(您在串联中错过了决赛+)。

于 2013-10-11T16:25:57.303 回答
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 = []**

于 2013-10-11T16:30:44.717 回答
0

您可以尝试以下方法:

$('[data-cardNumber="'+swipedAwayCards[i] + '"]').each(function() {
  $(this).remove();
});

这应该有效,而不是执行 for 循环,因为 jquery 已经能够遍历选择器的所有匹配项。

于 2013-10-11T16:26:54.673 回答