【发布时间】:2021-12-30 18:28:55
【问题描述】:
我试图在每次单击按钮时增加元素的 id
我很困惑为什么它在用于 innerHTML 而不是 id 时起作用
我的标记
<p id="demo"></p>
<button onclick="myfunction()">press me</button>
递增内部 html
<script>
var a = 1;
function myfunction(){
document.getElementById("demo").innerHTML = a;
a++;
}
</script>
递增元素变量 id
<button onclick="myfunction()">press me</button>
<script>
var a = 1;
function myfunction(){
document.getElementById("demo").id = a;
a++;
}
</script>
【问题讨论】:
-
你怎么知道它对 id 不起作用?此外,id 不能以数字开头。试试
id = "ele"+a; -
你是对的。我忘记了 id 不能以数字开头。我试过这个,document.getElementById("demo").id = "ele"+a;但它仍然给了我错误i.imgur.com/IZh4Ott.png
-
@cha 因为您将 id 从
'demo'更改为新值,然后您尝试获取 ID 为'demo'的元素,但现在不存在。 -
第二个例子只能工作 once 因为一旦你改变了 id 你就不能再使用旧的 id 选择同一个元素(因为那个 id 不再存在)。
-
aa,感谢您指出这一点。生病尝试将 getelementbyid 设置为变量。看看情况如何。这有点挑战性。并且可能也将标记 ID 设置为变量。仍然不确定如何实现该自动取款机。如果有人有建议,我会全力以赴。
标签: javascript html variables dom increment