我试图在关联的Javascript函数中使用.innerHTML将输入按钮插入HTML表格。
每当我使用相同的JS,但将“select”替换为其他HTML时,它的工作完全正常。它只是< input type =“button”/>和<按钮>那不起作用。
问题出现在至少IE,Firefox和Chrome中。 Chrome会返回“意外标识符”错误。
缩写代码(不是原文):
function newrow() {
table = document.getElementById("Table");
row = table.insertRow(1);
cell = row.insertCell(0);
cell.innerHTML = "<input id="Button" type="button" value="ClickHere" />";
};
我尝试用格式化文本(“&lt; b&gt;文字&lt; / b&gt;”)和链接替换HTML,并且都正确显示。
我还在脚本之外创建了对象,这确实有效,但似乎没必要:
<input id="Button" type="button" value="ClickHere" />
<script type="text/javascript">
function newrow() {
table = document.getElementById("Table");
button = document.getElementById("Button");
row = table.insertRow(1);
cell = row.insertCell(0);
cell.innerHTML = button;
};
这很有效,但是我使用的任何“getindex”都是笨拙和复杂的。
任何帮助将不胜感激!
答案 0 :(得分:4)
此行会触发“意外标识符”错误:
cell.innerHTML = "<input id="Button" type="button" value="ClickHere" />";
问题是你的报价。 JavaScript解释器与用于表示JavaScript中的字符串的引号和HTML中使用的引号相混淆。您需要转义字符串中的引号,或者使用单引号作为其中一个目的。
单引号可行:
cell.innerHTML = '<input id="Button" type="button" value="ClickHere" />';
或者,转义引号会起作用:
cell.innerHTML = "<input id=\"Button\" type=\"button\" value=\"ClickHere\" />";
答案 1 :(得分:0)
我认为您正在寻找<input type="button" />
而不是选择? select元素用于下拉菜单。