'<td><a href="javascript:test(???)">' + id + '</a></td>'上面的片段是用js构造一个表格, 给其中某一项加个链接,所以整句都在单引号里面。
id是一个变量。"flag"是一个字符串
怎么将"flag" + id组合成的字符串传入链接的test()中作为test()的参数啊,如test("flag1")。另外当我这么写:
'<td><a href="javascript:test(' + 'id' + ')">' + id + '</a></td>'
却提示id没有定义,这是为何?javascriptjs

解决方案 »

  1.   

    '<td><a href="javascript:test(\"' +  id  + '\")">' + id + '</a></td>'
      

  2.   


    "<td><a href=\"javascript:test(id)\">" + id + "<\/a><\/td>";
      

  3.   

    "<td><a href=\"javascript:test(" + id + ")\">" + id + "<\/a><\/td>"; 
      

  4.   

    回复1L,试了下,这样写的话, 连接到的地址是 javascript:test(,也就是到下一个双引号开始。不好意思啊,1L, 我自己其实是想复杂了, 导致你也被我写的误导了,直接写:'<td><a href="javascript:test(id)">' + id + '</a></td>'就行了,就行2L那样,但是不知道为什么点击连接后提示的确实id is not defined,这是为啥: @veryhunger @fzfei2 
      

  5.   

    '<td><a href="javascript:test(\'' +  id  + '\')">' + id + '</a></td>'
    如果ID是数字
    '<td><a href="javascript:test(' +  id  + ')">' + id + '</a></td>'
      

  6.   

    @fzfei2 
    谢谢你了, 后来我想了下, 我5L的回答是错的
    '<td><a href="javascript:test(id)">' + id + '</a></td>'
    这么写,虽然传的变量名是id,但是这个id已经部署<td>里面的id了感谢你6楼的回答!!!