首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

关于js的引号有关问题

2012-02-21 
关于js的引号问题HTML code!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//ENHTMLHEAD

关于js的引号问题

HTML code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD>  <TITLE> New Document </TITLE>  <META NAME="Generator" CONTENT="EditPlus">  <META NAME="Author" CONTENT="">  <META NAME="Keywords" CONTENT="">  <META NAME="Description" CONTENT="">  <!-- 生成缩略图 开始-->    <script language="javascript" type="text/javascript">    var allowExt = ['jpg', 'gif', 'bmp', 'png', 'jpeg'];             var preivew = function(file, container){            try{                var pic =  new Picture(file, container);                }catch(e){alert(e);}            }             var Picture  = function(file, container){                            var height = 0,widht     = 0, ext    = '',size = 0,name = '',path = '';                    var self = this;                    if(file){                              name = file.value;                            if (window.navigator.userAgent.indexOf("MSIE")>=1){                         file.select();                                     path = document.selection.createRange().text;                         }else if(window.navigator.userAgent.indexOf("Firefox")>=1){                     if(file.files){                                 path =  file.files.item(0).getAsDataURL();                             }else{                                        path = file.value;                                }                }            }else{                    throw "bad file";                }                      ext = name.substr(name.lastIndexOf("."), name.length);                //if(container.tagName.toLowerCase() != 'img'){            //    throw "container is not a valid img label";                    //    container.visibility = 'hidden';            //}            container.src = path;                    container.alt = name;                    container.style.visibility = 'visible';                    height = container.height;                    widht  = container.widht;                    size   = container.fileSize;                    this.get = function(name){ return self[name];}                    this.isValid = function(){                            if(allowExt.indexOf(self.ext) !== -1){                            throw 'the ext is not allowed to upload';                            return false;                            }            }        }    </script>    <!-- 生成缩略图 结束-->  <script lanuage="javascript">  var i = 1;  function add(){        var table = document.getElementById("tbody");    var tr = document.createElement("tr");        table.appendChild(tr);        var td1 = document.createElement("td");        var td2 = document.createElement("td");        tr.appendChild(td1);        tr.appendChild(td2);            /*var sel = document.createElement("img");    img_id = "img"+i;    sel.id = img_id;    sel.height="100px";    sel.width="100px";    td2.appendChild(sel);*/    $img_id = "img"+i;    td2.innerHTML = "<img id="+$img_id+"  style='visibility:hidden' height='100px' width='100px'>";        /*var text =  document.createElement("input");    text.type = "file";    var textname = "name"+i;    text.name = textname;    text.setAttribute = ("onchange","preivew(this, document.getElementById(img_id));");    td1.appendChild(text);*/    var textname = "file"+i;    td1.innerHTML="<input type='file' name="+textname+" onchange='preivew(this,document.getElementById("+$img_id+"))'>";           i=i+1;}function del(){    var trs = document.getElementsByTagName("tr");        var tbody = document.getElementById("tbody");    tbody.removeChild(trs[trs.length - 1]);}  </script></HEAD><BODY>  <table id="tab" border="1">        <tbody id="tbody">            <tr>                <td align="right" colspan="2">                <input type="button" value="添加" onclick="add()" />                <input type="button" value="删除" onclick="del()" />                </td>            </tr>            <tr>                <td>资源名称</td>                <td>资源状态</td>            </tr>            <tr>                <td>gfdfdsafsd</td>                <td>0</td>            </tr>        </tbody>    </table></BODY></HTML> 




其中的语句td1.innerHTML="<input type='file' name="+textname+" onchange='preivew(this,document.getElementById("+$img_id+"))'>";
生成的html如下:
<input type="file" onchange="preivew(this,document.getElementById(img1))" name="file1">
getElementById 少了一对单引号,应该是这样才对
<input type="file" onchange="preivew(this,document.getElementById('img1'))" name="file1">
但是这个语句我应该怎么改,暂时还没想出来
td1.innerHTML="<input type='file' name="+textname+" onchange='preivew(this,document.getElementById("+$img_id+"))'>";

如下的改发都已经试过了
td1.innerHTML="<input type='file' name="+textname+" onchange='preivew(this,document.getElementById('"+$img_id+"'))'>";
td1.innerHTML="<input type='file' name="+textname+" onchange='preivew(this,document.getElementById(""+$img_id+""))'>";
td1.innerHTML="<input type='file' name="+textname+" onchange='preivew(this,document.getElementById("""+$img_id+"""))'>";
这个单引号就不知道怎么加上去了


[解决办法]
onchange='preivew(this,document.getElementById(\'"+$img_id+"\'))
[解决办法]
用反斜杠“\”转义
[解决办法]
可以用\来转义也可以用正则来匹配
[解决办法]
这个肯定是要转义了。

热点排行
Bad Request.