gpt4 book ai didi

javascript - innerHTML 可以跨不同行工作吗?

转载 作者:行者123 更新时间:2023-11-28 16:28:59 25 4
gpt4 key购买 nike

我尝试使用innerHTML 根据用户的输入创建一个下拉列表,但它不起作用。下面的代码输出一个空的下拉列表。问题似乎是 split <select><option>写在单独的行上。如果我输入 <select></select>在 for 循环内,它可以工作,但它为每个项目创建一个单独的下拉列表。有什么想法吗?

document.getElementById('text').innerHTML += "<select>";
for (ddNum=0; ddNum <= ddWanted; ddNum++)
{
var ddIDvar = document.getElementById('inputID' + ddNum);
document.getElementById('text').innerHTML += "<option>" + ddIDvar.value + "</option>";
}
document.getElementById('text').innerHTML += "</select><br />";

最佳答案

浏览器可能正在修改您要添加的 HTML,试图通过添加结束标记来使其“正确”。不要重复将不完整的标签集附加到 .innerHTML 并强制进行可能昂贵的回流/重绘,而是将您的选择构建为字符串,然后在完成后将其附加到 .innerHTML:

var sel = '<select>';
for (ddNum ...) {
sel += '<option>....</option>';
}
sel += '</select>';
.... .innerHTML += sel;

关于javascript - innerHTML 可以跨不同行工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6848119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com