<p id="demo">Click me.</p>
<p id="demo2">Click me.</p>
<script>
x="demo";
b="ttt";
document.getElementById("demo").onclick = function() {myFunction(x,b)};
x="demo2";
b="555"
document.getElementById("demo2").onclick = function() {myFunction(x,b)};
function myFunction(x,b) {
document.getElementById(x).innerHTML =b ;
}
我的意图是演示,将onclick函数与x =“ demo” b =“ ttt”一起使用;对于演示2,请使用带有x =“ demo2”和b =“ 555”的onclick函数。但似乎两个函数都使用了最新的x和b值。
最佳答案
您正在重新分配x
变量。
最好的方法是使用函数关闭逻辑,因此可以创建两个名为demo
和demo2
的函数。
看看这个代码片段
let demo = function(x,b) {
document.getElementById("demo").onclick = function() {
myFunction(x, b)
};
};
let x = "demo";
let b = "ttt";
demo(x, b);
let demo2 = function(x,b) {
document.getElementById("demo2").onclick = function() {
myFunction(x, b)
};
};
x = "demo2";
b = "555"
demo2(x, b);
function myFunction(x, b) {
document.getElementById(x).innerHTML = b;
}
<p id="demo">Click me.</p>
<p id="demo2">Click me.</p>
看到?现在您的逻辑正在运行!