在线等,急(大神帮帮忙):js动态嵌入html代码,代码中调用函数,当传参为字符串时,函数没有响应

在线等,急(大神帮帮忙):js动态嵌入html代码,代码中调用函数,当传参为字符串时,函数没有响应

问题描述:

<!DOCTYPE html>



<br> function insert()<br> {<br> var a=&quot;jioho&quot;;<br> var str=&quot;<table><tr><button type='button' onclick='test("+ a+")'>点击</button>&quot;;<br> document.getElementById(&quot;1&quot;).innerHTML=str;<br> }<br> function test(a)<br> {<br> alert(a);<br> }<br>



onclick=test('"+a+"') 试一下这个在用单引号把参数包起来!

额,代码上传,变乱了,我截一张图图片说明

 var str = "<table><tr><button type='button' onclick=test("+a+")>"

改成onclick=test(a)试试

还是不行,我调试,上面说 jioho 未定义

调试的如下图,图片说明

document.getElementById("1").这是什么呀?传值加引号

你先直接把a的值填入test方法的参数里,不要用var进行声明 试一下 效果

作用域问题,你的test()在页面中执行时,并没有定义变量a。图片说明
要这样写

借用楼上的说法,改好后是下面的,谢谢各位了图片说明