动态添加到html元素

时间:2011-08-20 16:48:25

标签: javascript html

这个问题的简单答案就像这样

document.getElementById("form").innerHTML += someHtmlString

这也有效。但我的问题是,执行此操作会导致先前选定的字段进入原始状态(在我的情况下,我使用< select>标记,并且所选值已恢复为原始值)。

可能的解决方案是什么。是否有任何代码在html标签中添加/附加(在我的情况下是div标签)只使用JS,以便我之前选择的选项保持不变?

方面

2 个答案:

答案 0 :(得分:3)

使用普通的DOM方法。这样,旧的HTML永远不会被重新解释。样品:

var div = document.createElement('div')
div.innerHTML = '<b>test</b>';
document.getElementById("form").appendChild(div);

答案 1 :(得分:0)

在添加HTML之前记住所选项目,之后通过JavaScript选择项目。这样的事情应该有效:

var index = document.getElementById("idOfSelect").selectedIndex;
document.getElementById("form").innerHTML += someHtmlString;
document.getElementById("idOfSelect").options[index].selected = true;