1 html javascript html-table innerhtml
我试图在关联的 Javascript 函数中使用 .innerHTML 将输入按钮插入到 HTML 表中。
每当我使用相同的 JS,但用其他 HTML 替换“选择”时,它就可以正常工作。只有 < input type="button" /> 和 < 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" />";
};
Run Code Online (Sandbox Code Playgroud)
我尝试用格式化文本(“< b > Text </ b >”)和链接替换 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;
};
Run Code Online (Sandbox Code Playgroud)
这有效,但很笨拙并使我使用的任何“getindex”复杂化。
任何帮助,将不胜感激!
此行将触发“意外标识符”错误:
cell.innerHTML = "<input id="Button" type="button" value="ClickHere" />";
Run Code Online (Sandbox Code Playgroud)
问题是你的报价。JavaScript 解释器与用于在 JavaScript 中表示字符串的引号和在 HTML 中使用的引号混淆。您需要对字符串中的引号进行转义,或者出于某种目的使用单引号。
单引号会起作用:
cell.innerHTML = '<input id="Button" type="button" value="ClickHere" />';
Run Code Online (Sandbox Code Playgroud)
或者,转义引号也可以:
cell.innerHTML = "<input id=\"Button\" type=\"button\" value=\"ClickHere\" />";
Run Code Online (Sandbox Code Playgroud)