js动态创建元素并赋值。

zygis666 2012-04-18 02:52:02
求代码,求解答:
页面初始化时,动态创建一个div,在div中创建10个<dl>,有一个数组,数组中有是个数据,将数组中的数据依次加入到<dl><dt><dd>中,当然数据都是存在数组中的
实现的结果类似于:
<div>
<dl>1
<dt>1.1</dt>
<dd>1.1内容</dd>
</dl>
<dl>2
<dt>2.1</dt>
<dd>2.1内容</dd>
</dl>
<dl>3
<dt>3.1</dt>
<dd>3.1内容</dd>
</dl>
<dl>1
<dt>4.1</dt>
<dd>4.1内容</dd>
</dl>
</div>


...全文
730 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hch126163 2012-04-20
  • 打赏
  • 举报
回复
本来就是json. 浏览器自己会解析。

function fun(obj){

obj&& obj.name && alert(obj.name);
}

fun({'name':'fun'});
zygis666 2012-04-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

JScript code

window.onload = function () {

var arr = [
{ "Number": "1", "Title": "1.1", "Content": "1.1内容" },
{ "Number": "2", "Title": ……
[/Quote],继续求教,那如果数据格式是json的呢,怎么解析出来,解答完,分送上,谢谢:
({
"directCity": ["所有地区", "北京", "天津", "上海", "重庆"],
"province": {
"广东": ["深圳市", "广州市", "东莞市", "佛山市", "中山市", "惠州市", "珠海市", "汕头市", "江门市", "肇庆市"],
"山东": ["济南市", "青岛市", "淄博市", "枣庄市", "东营市", "烟台市", "莱阳市", "潍坊市", "济宁市", "泰安市"]
}
})

ABCDEF 2012-04-18
  • 打赏
  • 举报
回复
<div id="content"></div>
var arr = new Array();
arr.push("A");
arr.push("B");
arr.push("C");
var tempHtml="<div>";
for(var i=0;i<arr.length;i++){
tempHtml+='<dt>"+arr[i]+"</dt>';
}
tempHtml+="/<div>";

document.getElementById("content").innerHTML=tempHtml;

直接写的!未经测试!可试试!



w290601645 2012-04-18
  • 打赏
  • 举报
回复

window.onload = function () {

var arr = [
{ "Number": "1", "Title": "1.1", "Content": "1.1内容" },
{ "Number": "2", "Title": "2.1", "Content": "2.1内容" },
{ "Number": "3", "Title": "3.1", "Content": "3.1内容" },
{ "Number": "4", "Title": "4.1", "Content": "4.1内容" },
{ "Number": "5", "Title": "5.1", "Content": "5.1内容" },
{ "Number": "6", "Title": "6.1", "Content": "6.1内容" },
{ "Number": "7", "Title": "7.1", "Content": "7.1内容" },
{ "Number": "8", "Title": "8.1", "Content": "8.1内容" },
{ "Number": "9", "Title": "9.1", "Content": "9.1内容" },
{ "Number": "10", "Title": "10.1", "Content": "10.1内容" }
];
var objDiv = document.createElement("div");
objDiv = document.body.appendChild(objDiv);

for (var i = 0, l = arr.length; i < l; i++) {
var objDl = document.createElement("dl");
objDl.innerHTML = arr[i].Number;

var objDt = document.createElement("dt");
objDt.innerHTML = arr[i].Title;

var objDd = document.createElement("dd");
objDd.innerHTML = arr[i].Content;


objDiv.appendChild(objDl);
objDl.appendChild(objDt);
objDl.appendChild(objDd);
}
沧半闲 2012-04-18
  • 打赏
  • 举报
回复
两次循环应该没什么问题

function createNewDiv(){
var a = new Array();
var len=-1;
//测试数据
while((++len)<10){
a[len].push("title."+len+".1");
a[len].push("content."+len+".1");
}
len=-1;
var div = document.createElement("div");
div =document.body.appendChild(div);
while((++len)<10){
var dl = document.createElement("dl");
dl = div.appendChild(dl);
var ltlen=-1;
while((++ltlen)<2){
var dt = document.createElement("dt");
dl.appendChild(dt);
dt.innerHTML = a[len][ltlen];
}
}
}
weeksun23 2012-04-18
  • 打赏
  • 举报
回复
var a = new Array();
var s = '';
s += "<div>";
for(var i in a){
s += "<dl>"+i+"<dt>"+i+".1</dt><dd>"+a[i]+"</dd></dl>";
}
s += "</div>";
hch126163 2012-04-18
  • 打赏
  • 举报
回复
拼接字符串

设置 div innerHTM 就ok

2012-04-18
  • 打赏
  • 举报
回复
可以搜一下javascript模板,比较适合做这个。

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧