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

时间:2012-09-27 20:07:23

标签: javascript html html-table innerhtml

我试图在关联的Javascript函数中使用.innerHTML将输入按钮插入HTML表格。

每当我使用相同的JS,但将“select”替换为其他HTML时,它的工作完全正常。它只是&lt; input type =“button”/&gt;和&lt;按钮&gt;那不起作用。

问题出现在至少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”都是笨拙和复杂的。

任何帮助将不胜感激!

2 个答案:

答案 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元素用于下拉菜单。