var show=[
"p1",
"p2",
"p3"
];
var n;
function show(n){
for(n=1;n<=3;++n){
document.getElementById("show").innerHTML=show[n];
}
}
<button onclick="show(1)">b1</button>
<button onclick="show(2)">b2</button>
<button onclick="show(3)">b3</button>
<p id="show"></p>
当我分别单击b1、b2、b3时,我正在尝试打印p1、p2、p3。我该怎么做。
您的代码有几个问题。
首先,不要用相同的名称命名变量和函数。在本例中,可以将阵列重命名为showArr
。
然后您需要删除for
循环(这与您试图实现的目标相反(。在获取带索引的数组项时,需要传递index - 1
。
并且在全局范围内不需要变量n
(它是多余的(。
var showArr = [
"p1",
"p2",
"p3"
];
function show(n) {
document.getElementById("show").innerHTML = showArr[n - 1];
}
<button onclick="show(1)">b1</button>
<button onclick="show(2)">b2</button>
<button onclick="show(3)">b3</button>
<p id="show"></p>
只是不要对变量和函数使用相同的名称show
:
var show = [
"p1",
"p2",
"p3"
];
function showIt(n) {
document.getElementById("show").innerHTML = show[n - 1];
}
<button onclick="showIt(1)">b1</button>
<button onclick="showIt(2)">b2</button>
<button onclick="showIt(3)">b3</button>
<p id="show"></p>