黑马程序员技术交流社区

标题: JS的双引号与单引号问题 [打印本页]

作者: 张洪慊    时间: 2013-8-25 18:57
标题: JS的双引号与单引号问题
本帖最后由 张洪慊 于 2013-8-25 19:54 编辑

由JS视频的添加附件代码想到的:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>动态添加附件</title>
  6. <script type="text/javascript" src="JS/documentTools.js"></script>
  7. <style type="text/css">
  8. table{
  9.   border:1px solid #00F;
  10. }
  11. table td{
  12.   border:1px solid #999;
  13. }
  14. </style>
  15. <script type="text/javascript">
  16. function addAttachment(){
  17.     var count=0;
  18.         var tableNode=byID("tableID");
  19.         var trNode=tableNode.insertRow();
  20.         trNode.id="tr_"+(++count);//为每个行对象绑定一个编号
  21.         
  22.         trNode.insertCell().innerHTML="<input type='file'/>";
  23.         trNode.insertCell().innerHTML
  24.         ="<a href='javascript:void(0)'onclick='deleteAttachment("+count+")'>删除</a>";

  25. }

  26. function deleteAttachment(count){
  27.        alert(count)//测试实参是否传递成功
  28. }
  29. </script>
  30. </head>

  31. <body>
  32. <table id="tableID">
  33. <tr>
  34.   <td><a href="javascript:void(0)" onclick="addAttachment()">点击添加附件</a></td>
  35. </tr>
  36. </table>
  37. </body>
  38. </html>
复制代码
trNode.insertCell().innerHTML
        ="<a href='javascript:void(0)'onclick='deleteAttachment("+count+")'>删除</a>";
这个位置传入count变量的值,此时想到这个位置如何书写传入字符串常量("abc"...)?? 各种测试失败....

又测试一点:如果在定义一个变量 var str="abc"
trNode.insertCell().innerHTML
        ="<a href='javascript:void(0)' onclick='deleteAttachment("+str+")'>删除</a>";//失败,不能弹出abc

好吧..求正确书写方式..



作者: 张洪慊    时间: 2013-8-25 19:43
好吧- -我不是骗分的,刚找到:JS不支持多层嵌套:" ' ' " 在嵌套就不OK了
这时候通过 \" 转义
"<a href='javascript:void(0)' onclick='deleteAttachment(\"abc\")'>删除</a>";
但是第二个问题还没解决:
var str="abc"
trNode.insertCell().innerHTML  ="<a href='javascript:void(0)'onclick='deleteAttachment("+str+")'>删除</a>";

作者: 张洪慊    时间: 2013-8-25 19:53
刚试出来:
var str="\"abc\"";
trNode.insertCell().innerHTML  ="<a href='javascript:void(0)'onclick='deleteAttachment("+str+")'>删除</a>";
作者: 神之梦    时间: 2013-8-25 21:29
张兄强大,佩服{:soso_e179:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2