gpt4 book ai didi

javascript - javascript 中拼接删除随机元素问题

转载 作者:行者123 更新时间:2023-12-03 11:12:32 28 4
gpt4 key购买 nike

我正在尝试使用 jQuery 创建交互式购物车,但拼接问题毁了一切,因为当我直接删除元素时,它对我来说非常适合,但比我要动态更改它无法删除数组中的随机元素即使更新索引后也是如此。

<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<div id="myDIV2"></div>
<div id="myDIV"></div>
<script>
var wishlistArray = ["Item1", "Item2", "Item3", "Item4", "Item5"];

function wishlist_show() {

var wishlistArrayDom = "";
jQuery.each(wishlistArray, function (i, wishlistID) {

wishlistArrayDom += '<div><a href="javascript:;" class="rem-from-wishlist" value="' + i + '">Remove( ' + wishlistID + ' )</a></div>';
});

$('#myDIV').empty();
$('#myDIV').html(wishlistArrayDom);
wishlist_update_rem();

console.log('All: ' + wishlistArray.length);
console.log('Arr: ' + wishlistArray);
}

function wishlist_rem(num) {
console.log('Value: ' + $(this).attr('value'));
console.log('All: ' + wishlistArray.length);
console.log('Arr: ' + wishlistArray);
$(this).parent().slideUp("slow", function () {
console.log(wishlistArray.splice($(this).attr('value'), 1));
wishlist_show();

});
$('#myDIV2').append('<br>Remove ' + wishlistArray[parseInt($(this).attr('value'))] + ' of element' + +$(this).attr('value'));
}

wishlist_show();

function wishlist_update_rem() {
$(".rem-from-wishlist").unbind("click");
$(".rem-from-wishlist").click(wishlist_rem);
}
</script>

Jsfiddle示例

更新:我自己解决了,感谢大家,stackoverflow是最好的。

准备使用jsfiddle http://jsfiddle.net/ar0zrxwc/

最佳答案

这不是 splice() 的问题,而是 this 范围的问题。

将您的删除函数更改为:

function wishlist_rem(num) {

var idx = parseInt($(this).attr('value')));
$(this).parent().slideUp("slow", function () {
wishlistArray.splice(idx, 1));
wishlist_show();

});
$('#myDIV2').append('<br>Remove ' + wishlistArray[parseInt($(this).attr('value'))] + ' of element' + +$(this).attr('value'));
}

关于javascript - javascript 中拼接删除随机元素问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27506079/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com