为什么这个不起作用?innerHTML不能接受这么复杂的东西吗?
<html>
<head>
<script type="text/javascript">
function addTable() {
var html = "<table><tr><td><label for="name">Name:</label></td><td><input type="text" id="name"></input></td></tr>"; +
"<tr><td><label for="remarks">Remarks:</label></td><td><input type="text" id="remarks"></input></td></tr></table>";
document.getElementById("addtable").innerHTML = html;
}
</script>
</head>
<body>
<input type="submit" value="New Table" onClick="addTable()"/>
<div id="addtable"></div>
</body>
</html>像下面这样不那么复杂的东西可以工作:
var html = "<table><tr><td>123</td><td>456</td></tr></table>";发布于 2010-02-24 18:47:20
您需要在指定给html变量的字符串中转义双引号,或者只用单引号将字符串括起来。使用带有语法突出显示的文本编辑器,这样的错误会立即跳出来。你的赋值中也有一个额外的分号。
发布于 2010-02-24 18:47:52
您的报价已损坏。字符串中使用了双引号:
"<tr><td><label for="remarks">Remarks:</label></td><td><input .... Firefox error console应该始终是您的第一站,这样的错误总是记录在那里。
发布于 2010-02-24 18:48:13
字符串使用双引号分隔,并在字符串中使用双引号。切换到在字符串中使用单引号。
var html = "<table><tr><td><label for='name'>Name:</label></td><td><input type='text' id='name'></input></td></tr>"; +
"<tr><td><label for='remarks'>Remarks:</label></td><td><input type='text' id='remarks'></input></td></tr></table>";https://stackoverflow.com/questions/2325312
复制相似问题