Javascript 将变量推入数组并在每次单击时更新数组?
我通过单击一个项目将一个变量保存到数组中,但每次单击不同的项目时,这应该会改变。目前,这是警告相同的值,而不是新值Javascript 将变量推入数组并在每次单击时更新数组?,javascript,jquery,arrays,Javascript,Jquery,Arrays,我通过单击一个项目将一个变量保存到数组中,但每次单击不同的项目时,这应该会改变。目前,这是警告相同的值,而不是新值 <div class="item"> <span id="0" class="video" data-vimeoid="http://vimeo.com/XXX"></span> </div> <div class="item"> <span id="1" class="video" data-vime
<div class="item">
<span id="0" class="video" data-vimeoid="http://vimeo.com/XXX"></span>
</div>
<div class="item">
<span id="1" class="video" data-vimeoid="http://vimeo.com/SSS"></span>
</div>
<div class="item">
<span id="2" class="video" data-vimeoid="http://vimeo.com/ZZZ"></span>
</div>
你应该这样做
var previous = [];
$(document).on( 'click', '.item:not(.is-expanded)', function() {
var url = videoSpan.data("vimeoid");
previous.push(url);
alert(previous[previous.length-1]);
});
我以为.push()正在替换该值,而.add()正在添加no
。push()
将推送一个新元素。如果它解决了您的问题,请考虑投票表决并将其标记为正确答案。Nope push将添加到数组的末尾。有关详细信息,请参阅文档:@rob.m尝试学习不使用alert进行调试。如果执行了console.log(上一个)
操作,您将在浏览器控制台中看到整个数组。@void将执行一次,我将能够;)末端推压不改变0次
值
var previous = [];
$(document).on( 'click', '.item:not(.is-expanded)', function() {
var url = videoSpan.data("vimeoid");
previous.push(url);
alert(previous[previous.length-1]);
});