javascript - 如何动态创建html元素?

标签 javascript jquery

我有一个数组

var elms = ["When?", "Why", "Where", ......]; 

我需要创建以下元素

<html .. whatever> 

<div id="q1"> When?  </div>
<input type="text" id="a1"></input>

<div id="q2"> Why?  </div>
<input type="text" id="a2"></input>

<div id="q3"> Where?  </div>
<input type="text" id="a3"></input>

........
</html>

我该怎么做?

PS:我的原始页面只有这个数组 var elms 而没有其他内容。我需要创建所有这些部门和投入。我尝试了 jquery,但搞乱了单引号和双引号。 。所以我放弃了。

最佳答案

 var el;
 var idName;
 for(var i = 0; i < elms.length; i++){
   idName = "q" + i;
   el = document.getElementById(idName);
   el.innerHTML = elms[i];
 } 

以索引 0 开始您的 div id,即 id="q0" 以便轻松建立索引

您也可以使用 jquery 执行此操作:

 var el;
 var idName;
 for(var i = 0; i < elms.length; i++){
   idName = "#q" + i;
   $(idName).html(elms[i]); 
   // items in the html( .. ) can be done only in 
   // newer versions of jquery (I think) correct me if im wrong
 } 

如果它们尚不存在:

 var id;
 for(var i = 0; i < elms.length; i++){
  id = "q" + i;
  $("#containerDiv").append(
   "<div id="+id+">"+elms[i]+"</div><input type=\"text\" id=\"a2\"></input>"
   );
 }

关于javascript - 如何动态创建html元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25799389/

相关文章:

javascript - 更改标题字体大小和背景

javascript - Bootstrap 指示器在点击时不起作用

php - 保护具有数据库写权限的文件

javascript - 如何使用 jquery 加载网站 HTML

javascript - 使用 chrome 扩展程序将自定义按钮添加到 gmail 收件箱

javascript - document.on ('event' ) 和 $().event 之间的区别

javascript - 在Codeigniter中: How to give the image path in external js file

javascript - 使用 javascript 而不是 php 构建对象

javascript - 将一些 json 数据推送到 Node.js 中的空数组

javascript - JS/jQuery promise