当有人点击由这些div的ID组成的div时,我试图显示一个数组。到目前为止,我一直在更换值而不是添加它。我得到一两三个而不是一个,两个,三个,这就是我想要的。我想可能是我使用点击功能,但我不确定。
<div class="status" id="one">1</div>
<div class="status" id="three">333</div>
<div class="status" id="two">22</div>
<p id="demo">The array.</p>
$('.status').click(function() {
var status = $(this).attr('id');
var list = [];
list.push(status)
//alert(status);
var x=document.getElementById("demo");
x.innerHTML=list;
});
答案 0 :(得分:0)
问题是你不断重新创建数组。您想在处理程序之外创建数组。
此外,不是将innerHTML设置为数组,而是要在数组上调用join,以便div的内容采用数组中的值。
var list = [];
$('.status').click(function() {
var status = $(this).attr('id');
list.push(status)
//alert(status);
var x=document.getElementById("demo");
x.innerHTML=list.join(', ');
});
答案 1 :(得分:0)
每次点击都会不断清理数组。将var list = [];
移到点击处理程序之外:
var list = [];
$('.status').click(function () {
var status = $(this).attr('id');
list.push(status)
//alert(status);
var x = document.getElementById("demo");
x.innerHTML = list;
});
<强> jsFiddle example 强>
既然你正在使用jQuery,你可以改变它:
var x = document.getElementById("demo");
x.innerHTML = list;
只是:
$('#demo').html(list);