使用innerHTML将<select>按钮插入HTML表格

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”复杂化。

任何帮助,将不胜感激!

Ste*_*her 5

此行将触发“意外标识符”错误:

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)