Javascript InnerHTML 输出错误

标签 javascript html string tags innerhtml

function test()
{
var formHTML ="";
var frmid ="test123";

var options = ["Test1", "Test2", "Test3", "Test4", "Test5"]
formHTML += "<select id='" + frmid + ">";

console.log(options);

for ( i = 0; i < options.length; i++) {
    var temp = options[i];
    var temp2 = "<option value='" + temp + "'>" + temp + "</option>";
    console.log(temp2);
    formHTML += temp2;
}
formHTML += "</select>";
console.log(formHTML); 
document.getElementById("injected").innerHTML+=formHTML;

}

上面是我在页面中创建选择元素的函数,当我调用这个函数时,出现了一个非常奇怪的问题,它只显示选项 test2,test3,test4,test5 而不是一个...

当我使用 console.log 打印出 formHTML 时,它显示..

<select id='test123><option value='Test1'>Test1</option>
<option value='Test2'>Test2</option>
<option value='Test3'>Test3</option>
<option value='Test4'>Test4</option>
<option value='Test5'>Test5</option>
</select> 

但是如果您运行代码并查看源代码,则 HTML 元素不正确,第一个元素看起来像

 <option value='test1'> Test1

缺少关闭选项标记,

我尝试过调试和更改代码,但这个问题让我感到困惑。

是否缺少一些东西,是否有更好的方法来解决这个问题?出于速度原因,我尝试在操作 DOM 之前将其全部存储在一个字符串中。 感谢所有帮助,谢谢

最佳答案

此行有错误

formHTML += "<select id='" + frmid + ">";

将其更改为

formHTML += "<select id='" + frmid + "'>";

关于Javascript InnerHTML 输出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11312940/

相关文章:

html - 了解如何在 Wordpress 的一页上将 css 与 html 文件链接

javascript - 在不使用 createElement 方法的情况下使用 Javascript 附加按钮

javascript - 谷歌 Material 图表 : Forcing to show every label on horizontal axis

c - 缓冲区到数组(段错误)

java - 仅使用 java 中的 string 类检查字谜

javascript - 从另一个页面使用 JavaScript

javascript - 单击按钮更改文本输入的文本

javascript - 隐藏 tr 中的整行

python - 生成元素由标记分隔的字符串时避免键入冗余

javascript - 'quicklooks' 图像的简单 JavaScript/jQuery 插件