我有一个数组
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,但搞砸了单引号和双引号。 。所以我放弃了。
答案 0 :(得分:4)
var el;
var idName;
for(var i = 0; i < elms.length; i++){
idName = "q" + i;
el = document.getElementById(idName);
el.innerHTML = elms[i];
}
使用索引0
即id="q0"
开始您的div ID,以便轻松建立索引
您也可以使用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>"
);
}
答案 1 :(得分:2)
<强> HTML:强>
<div id="result"></div>
<input type="button" id="mybutt" value="Go" />
<强> jQuery的:强>
var nextbit, cnt=0;
var elms = ["When?", "Why", "Where", "How"];
$('#mybutt').click(function(){
$(this).hide(); //Hide the button
elms.forEach(function(item){
cnt++;
nextbit = '<div id="q"'+cnt+'>' +item+ '</div>';
nextbit +='<input type="text" id="a"'+cnt+'></input>';
$('#result').append(nextbit);
});
});