是否可以通过按下按钮
来更改相同的ID我的html上有相同的ID,但只有第一次更新,当我按下代码为document.getElementById('gold').innerHTML = gold;
var gold = 0;
document.getElementById('gold').innerHTML = gold;
function goldMaker() {
gold = gold + 1;
document.getElementById('gold').innerHTML = gold;
}

Gold: <span id="gold">0</span>
<p>
Money: <span id="gold">0</span>
</p>
<button onclick="goldMaker(1)">Make gold/money</button>
&#13;
答案 0 :(得分:4)
不要在多个元素上使用id
。这些必须是独特的。使用class
代替并使用索引检索正确的元素或添加其他类以使查询更加智能化。
下面,我有一个简单的增量函数来抓取第二个元素并增加它的值。
function goldMaker(index) {
incrementValue('gold', index, 1);
}
function incrementValue(className, index, amount) {
var element = document.getElementsByClassName(className)[index];
element.innerHTML = (parseInt(element.innerHTML, 10) || 0) + amount;
}
Gold: <span class="gold">0</span><br />
Money: <span class="gold">0</span><br />
<button onclick="goldMaker(1)">Make gold/money</button>
答案 1 :(得分:1)
ID在整个页面中必须是唯一的,因此它始终只返回第一个出现的位置。
如果它们位于不同的容器中,您可以查找重复的ID,例如
gold1 = $('#rings #gold');
gold2 = $('#necklaces #gold');
然而,这不是值得推荐的做法!
答案 2 :(得分:1)
function goldMaker() {
gold = gold + 1;
// document.getElementById('gold').innerHTML = gold;
var ele= document.getElementsByTagName("span") ;
console.log(ele);
for(var i=0; i<ele.length; i++)
{
ele[i].innerHTML = gold;
}
}
点击按钮时使用此方法,但不建议使用