Javascript getElementById+;控制另一个getElementById+;变量

Javascript getElementById+;控制另一个getElementById+;变量,javascript,variables,getelementbyid,Javascript,Variables,Getelementbyid,我有不同的div,每个div都有一个按钮调用相同的函数 <div id="div1">. . .</div> <button id="btn1" > INIT </button> <div id="div2">. . .</div> <button id="btn2"> INIT </button> 小提琴: 如何仅在单击#btn1时执行函数至#div1,而不是一次执行全部? 谢谢我想你想要这样的

我有不同的div,每个div都有一个按钮调用相同的函数

<div id="div1">. . .</div>
<button id="btn1" > INIT </button>
<div  id="div2">. . .</div>
<button id="btn2"> INIT </button>
小提琴:

如何仅在单击
#btn1
时执行函数至
#div1
,而不是一次执行全部?
谢谢

我想你想要这样的东西:

使用参数创建函数处理程序

function myAwesomeHandler(param){
   document.getElementById("div" + param).innerHTML = "HELLO WORLD";
};
绑定此处理程序,因此将使用计数器值作为参数调用处理程序。检查有关的文档

for(变量b=1;b<5;b++){
document.getElementById(“btn”+b).onclick=myAwesomeHandler.bind(this,b);
}

虽然不同的html有更优雅的方式,但我假设您已经预定义了html结构,并且刚刚演示了“仅js”方法。

我假设您想要这样的方式:

使用参数创建函数处理程序

function myAwesomeHandler(param){
   document.getElementById("div" + param).innerHTML = "HELLO WORLD";
};
绑定此处理程序,因此将使用计数器值作为参数调用处理程序。检查有关的文档

for(变量b=1;b<5;b++){
document.getElementById(“btn”+b).onclick=myAwesomeHandler.bind(this,b);
}
虽然不同的html有更优雅的方式,但我假设您已经预定义了html结构,并演示了“仅js”方法。

试试这个

<div id="div1">. . .</div>
<button id="btn1" onclick="changeText('div1')"> INIT </button>
<div  id="div2">. . .</div>
<button id="btn2" onclick="changeText('div2')"> INIT </button>
试试这个

<div id="div1">. . .</div>
<button id="btn1" onclick="changeText('div1')"> INIT </button>
<div  id="div2">. . .</div>
<button id="btn2" onclick="changeText('div2')"> INIT </button>
这是您的代码:

document.getElementById("btn" + b).onclick = 
document.getElementById("div" + b).innerHTML = "HELLO WORLD"
据JavaScript所知,在它看来是这样的:

x = y = "HELLO WORLD"
当你这样做时,会发生以下情况:

x=
y=“你好,世界”
log(“x是:”,x)
console.log(“y是:,y)
这是您的代码:

document.getElementById("btn" + b).onclick = 
document.getElementById("div" + b).innerHTML = "HELLO WORLD"
据JavaScript所知,在它看来是这样的:

x = y = "HELLO WORLD"
当你这样做时,会发生以下情况:

x=
y=“你好,世界”
log(“x是:”,x)

console.log(“y是:”,y)
document.getElementById(“btn”+b).onclick=document.getElementById(“div”+b).innerHTML
?你到底想要什么?您将每个div的innerhtml设置为相同的结果,所有这些看起来都是这样的;我正在尝试动态设置id,以便#btn1将“hello world”插入#div1、#btn2到#div2,等等。这就是我尝试使用“btn”+b和“div”+b所做的。这将阻止我在我的计算机中复制同一函数数百次code@Nora,检查我的答案document.getElementById(“btn”+b)。onclick=document.getElementById(“div”+b)。innerHTML?你到底想要什么?您将每个div的innerhtml设置为相同的结果,所有这些看起来都是这样的;我正在尝试动态设置id,以便#btn1将“hello world”插入#div1、#btn2到#div2,等等。这就是我尝试使用“btn”+b和“div”+b所做的。这将阻止我在我的计算机中复制同一函数数百次code@Nora,检查我的答案没问题,很高兴它有用。:)没问题,很高兴它有用。:)