У меня есть массив чисел, которые являются значениями атрибута data-cardNumber другого элемента на моем сайте.
Я пытаюсь удалить значение атрибута data-cardNumber элемента, у которого есть этот атрибут, который также имеет класс.lastBeenDragged.
Я пытаюсь это сделать, но я думаю, что я, возможно, слишком упростил свой код.
Когда я console.log массива до и после выполнения этого кода, в массиве нет изменений.
Как я могу правильно и перекрестно броузеру удалить элемент, значение data-cardNumber элемента с классом.lastBeen Перетащил из массива swipedAwayCards?
Вот код:
if(swipedAwayCards.indexOf($('.lastCardDragged').attr('data-cardNumber')) > -1) swipedAwayCards.splice(swipedAwayCards.indexOf($('.lastCardDragged').attr('data-cardNumber')), 1);
Попробуй это:
var v = $('.lastCardDragged').attr('data-cardNumber');
for (var i = 0, l = swipedAwayCards.length; i < l; i++) {
if (swipedAwayCards[i] == v) {
swipedAwayCards.splice(i, 1);
break;
}
}
Поскольку Array.indexOf() не поддерживается crossbrowser, вы можете использовать $.inArray()
var index = $.inArray($('.lastCardDragged').attr('data-cardNumber'), swipedAwayCards);
if (index > -1) {
swipedAwayCards.splice(index, 1);
}