<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变量。


最好的方法是使用函数关闭逻辑,因此可以创建两个名为demodemo2的函数。


看看这个代码片段



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>





看到?现在您的逻辑正在运行!

10-06 00:32