innerHTML总是报语法错误

在做JS自增行的功能,每点一下,增加一行。函数中用innerHTML方法。

在时间输入控件的写法中,正常HTML中这样写是可以的:input type="text" name="employee.birthday" onClick="WdatePicker({startDate:'1970-01-01'})" />

但用innerHTML就会报语法错误:mytd_3.innerHTML="";

4个回答

一会单引号,一会双引号,会导致截断。
举个例子:要把mytd_3.innerHTML设为
[code="java"]Say "hello world"[/code]

这样写就会报错:
[code="java"]mytd_3.innerHTML = "Say "hello world"";[/code]

原因如下:
字符串中的双引号,会导致页面解析时实际成了:
[code="java"]mytd_3.innerHTML = "Say "[/code]
后面部分:
[code="java"]hello world"";[/code]
就不知道怎么解析了,就会报错了。

应该这样写,对字符串中的双引号进行转义:
(把字符串内部的每个【"】写成【\"】就行了)
[code="java"]mytd_3.innerHTML = "Say \"hello world\"";[/code]

例子如下:
[code="html"]<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">



Insert title here function doshow() { var mytd_3 = document.getElementById("mytd_3"); mytd_3.innerHTML = "Say \"hello world\""; }



show:


[/code]

mytd_3.innerHTML="";

weixin_42503420
崔康 我找到原因了,onClick后在应该用双引号加斜杠,你说的思路是对的,难怪我刚才有点奇怪,正常HTML中用双引号的地方,在innerHTML中,我都改成单引号才好用。
大约 7 年之前 回复
iteye_5246
iteye_5246 document.getElementById('test').innerHTML="<input type='text' id='content' onClick='test1({startDate:1970-01-01})'/>" function test1(param) { alert(param.startDate); }
大约 7 年之前 回复
weixin_42503420
崔康 我试了,不行哦
大约 7 年之前 回复
iteye_5246
iteye_5246 主要是:onClick='WdatePicker(\'{startDate:\'1970-01-01\'}\')'/>";
大约 7 年之前 回复

td,option对象浏览器默认它们的innerHTML属性是只读的,你可以采用js创建td对象,赋值,然后往tr里添加的方式创建。

td1.innerHTML = "";

单引号里套双引号 即可

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐