Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何通过函数创建按钮传递对象_Javascript_Html - Fatal编程技术网

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作为参数调用函数吗?