u014513521
小C大加
2015-08-14 01:55
采纳率: 100%
浏览 3.0k

在线等,急(大神帮帮忙):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>



  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

9条回答 默认 最新

  • a625013
    ohyeah-44 2015-08-14 02:08
    已采纳

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

    点赞 评论
  • u014513521
    小C大加 2015-08-14 02:00

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

    点赞 评论
  • ascdfwsfrfadfg
    inc1ud3 2015-08-14 02:14
     var str = "<table><tr><button type='button' onclick=test("+a+")>"
    

    改成onclick=test(a)试试

    点赞 评论
  • u014513521
    小C大加 2015-08-14 02:16

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

    点赞 评论
  • u014513521
    小C大加 2015-08-14 02:27

    调试的如下图,图片说明

    点赞 评论
  • beacon_2011
    beaconD 2015-08-14 02:58

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

    点赞 评论
  • dltsbydh
    紫气天堂 2015-08-14 03:06

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

    点赞 评论
  • u011351806
    小鑫要宵夜 2015-08-14 03:13

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

    点赞 评论
  • u014513521
    小C大加 2015-08-14 03:15

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

    点赞 评论

相关推荐