Javascript 如何通过函数创建按钮传递对象
Javascript 如何通过函数创建按钮传递对象,javascript,html,Javascript,Html,函数添加文本(文本){ document.getElementById(“输出”).innerHTML+=文本; }//将文本添加到输出。 函数重置(){ document.getElementById(“输出”).innerHTML=“”; } 函数show_按钮(){ var obj={a:“项”} 添加文本(“按钮”); }//由函数创建的按钮。 函数myFunction(x){ 重置(); //这里x是{a:“item”},x[“a”]会在输出中给出{a:“item”}[“a”]即“it
函数添加文本(文本){
document.getElementById(“输出”).innerHTML+=文本;
}//将文本添加到输出。
函数重置(){
document.getElementById(“输出”).innerHTML=“”;
}
函数show_按钮(){
var obj={a:“项”}
添加文本(“按钮”);
}//由函数创建的按钮。
函数myFunction(x){
重置();
//这里x是{a:“item”},x[“a”]会在输出中给出{a:“item”}[“a”]即“item”吗?
添加文本(x[“a”]);
}
显示按钮();
//但是,单击按钮后,输出显示“未定义”而不是“项目”。
用以下内容替换您的显示按钮
:
功能显示按钮(){
var obj={a:“项”}
var output=document.getElementById(“output”)//获取目标元素
var button=document.createElement('button')//创建按钮
button.innerText='button'//更改文本
addEventListener('click',()=>myFunction(obj));//附加click处理程序
appendChild(button);//将按钮附加到目标元素
}
您应该使用.textContent
而不是.innerHTML
。此外,您的脚本容易受到各种注入攻击。您能帮助我们理解为什么需要使用obj作为参数调用函数吗?