Javascript onclick将值插入数组
我有一个图像地图,定义了几个区域。我想做的是,每当有人点击某个特定区域时,向数组中添加一个值,并在屏幕上实时显示该数组 在我的头部区域,我有数组(不确定这是否正确):Javascript onclick将值插入数组,javascript,arrays,Javascript,Arrays,我有一个图像地图,定义了几个区域。我想做的是,每当有人点击某个特定区域时,向数组中添加一个值,并在屏幕上实时显示该数组 在我的头部区域,我有数组(不确定这是否正确): var numArray=[]; 然后我在页面主体的某个地方 <p class="txt"><script type="text/javascript">document.write(numArray);</script></p> document.write(numArray
var numArray=[];
然后我在页面主体的某个地方
<p class="txt"><script type="text/javascript">document.write(numArray);</script></p>
document.write(numArray)
区域如下所示:
<area shape="circle" coords="129,325,72" alt="1" href="javascript:numArray.push('1')">
<area shape="circle" coords="319,325,72" alt="2" href="javascript:numArray.push('2')">
<area shape="circle" coords="510,325,72" alt="3" href="javascript:numArray.push('3')">
<p id="pTxt" class="txt"></p>
<area shape="circle" coords="129,325,72" alt="1" href="#" onclick="addToArray(1);">
<area shape="circle" coords="319,325,72" alt="2" href="#" onclick="addToArray(2);">
<area shape="circle" coords="510,325,72" alt="3" href="#" onclick="addToArray(3);">
<script type="text/javascript">
var numArray = [];
function addToArray(num){
numArray.push(num);
document.getElementById("pTxt").innerHTML = numArray;
return false;
}
</script>
例如,如果有人单击1,然后单击2,然后单击3,我希望数组在中显示123
但是,当我使用此函数时,它不会向数组中添加任何内容(或者至少不会显示值)。向JS中添加函数:
<script type="text/javascript">
var numArray = [];
function addNum(num) {
numArray.push(num);
document.querySelector(".txt").innerHTML = numArray.join('');
}
</script>
var numArray=[];
函数addNum(num){
numaray.push(num);
document.querySelector(“.txt”).innerHTML=numArray.join(“”);
}
从
标记中删除脚本
<p class="txt"></p>
并更新
在JS中添加一个函数:
<script type="text/javascript">
var numArray = [];
function addNum(num) {
numArray.push(num);
document.querySelector(".txt").innerHTML = numArray.join('');
}
</script>
var numArray=[];
函数addNum(num){
numaray.push(num);
document.querySelector(“.txt”).innerHTML=numArray.join(“”);
}
从
标记中删除脚本
<p class="txt"></p>
并更新
文档。只在加载页面时执行写入。要在元素中写入,最好使用document.getElementById
(这需要向
中添加id),并用onclick事件替换href=
这看起来像这样:
<area shape="circle" coords="129,325,72" alt="1" href="javascript:numArray.push('1')">
<area shape="circle" coords="319,325,72" alt="2" href="javascript:numArray.push('2')">
<area shape="circle" coords="510,325,72" alt="3" href="javascript:numArray.push('3')">
<p id="pTxt" class="txt"></p>
<area shape="circle" coords="129,325,72" alt="1" href="#" onclick="addToArray(1);">
<area shape="circle" coords="319,325,72" alt="2" href="#" onclick="addToArray(2);">
<area shape="circle" coords="510,325,72" alt="3" href="#" onclick="addToArray(3);">
<script type="text/javascript">
var numArray = [];
function addToArray(num){
numArray.push(num);
document.getElementById("pTxt").innerHTML = numArray;
return false;
}
</script>
var numArray=[];
函数addToArray(num){
numaray.push(num);
document.getElementById(“pTxt”).innerHTML=numArray;
返回false;
}
文档。只在加载页面时执行写入。要在元素中写入,最好使用document.getElementById
(这需要向
中添加id),并用onclick事件替换href=
这看起来像这样:
<area shape="circle" coords="129,325,72" alt="1" href="javascript:numArray.push('1')">
<area shape="circle" coords="319,325,72" alt="2" href="javascript:numArray.push('2')">
<area shape="circle" coords="510,325,72" alt="3" href="javascript:numArray.push('3')">
<p id="pTxt" class="txt"></p>
<area shape="circle" coords="129,325,72" alt="1" href="#" onclick="addToArray(1);">
<area shape="circle" coords="319,325,72" alt="2" href="#" onclick="addToArray(2);">
<area shape="circle" coords="510,325,72" alt="3" href="#" onclick="addToArray(3);">
<script type="text/javascript">
var numArray = [];
function addToArray(num){
numArray.push(num);
document.getElementById("pTxt").innerHTML = numArray;
return false;
}
</script>
var numArray=[];
函数addToArray(num){
numaray.push(num);
document.getElementById(“pTxt”).innerHTML=numArray;
返回false;
}
使用for循环遍历数组,边走边打印值,或者尝试numArray.toString();使用for循环遍历数组,边走边打印值,或者尝试numArray.toString();效果很好。有一个问题:有没有办法让它在数字之间加上逗号?现在显示的是1,2,3而不是123。是的,使用numaray.join(“”)代码>[更新答案以反映]效果很好。有一个问题:有没有办法让它在数字之间加上逗号?现在显示的是1,2,3而不是123。是的,使用numaray.join(“”)
[更新了答案以反映这一点]这不是与我的答案几乎完全相同吗?不,你的答案要好得多,因为join()
。很抱歉,我没有看到您在meNo问题之前回答,只是为了确保我没有遗漏任何内容。这与我的答案几乎完全相同吗?不,您的答案要好得多,因为有了join()
。对不起,我没看到你在我出问题之前回答,只是确保我没有遗漏任何东西。