纯js循环添加dom html并动态绑定传参onclick事件

// js loop load dom
for (var k in data) {
	var v = data[k];
	detailTemplate = detailTemplate.cloneNode(true);

	var userInfoObj = detailTemplate.getElementsByClassName('user-info')[0];
	userInfoObj.getElementsByClassName('name')[0].innerText = v.author;
	userInfoObj.getElementsByClassName('avatar')[0].src = v.avatar;
	userInfoObj.getElementsByClassName('post-time')[0].innerHTML = v.lastpost;

	var titleObj = detailTemplate.getElementsByClassName('title')[0];
	titleObj.innerText = v.subject;

	var commentHtml = '';
	if (v.postlist.length > 0) {
	  for (var j in v.postlist) {
	    var vv = v.postlist[j];
	    commentHtml += '<div class="line"><i class="icon icon-quote"></i><span class="desc">' + vv.message + '</span></div>';
	  }
	}
	var commentObj = detailTemplate.getElementsByClassName('comment')[0];
	commentObj.innerHTML = commentHtml;

	var extInfoObj = detailTemplate.getElementsByClassName('ext-info')[0];
	extInfoObj.getElementsByClassName('from')[0].innerText = v.fname;
	extInfoObj.getElementsByClassName('view-time')[0].innerText = v.views;

// 动态绑定click事件并传参
	(function(v) {
	  userInfoObj.onclick = function() {
	    loadPage('u', v.authorid);
	  };
	  titleObj.onclick = commentObj.onclick = function() {
	    loadPage('t', v.tid);
	  };
	  extInfoObj.onclick = function() {
	    loadPage('f', v.fid);
	  };
	})(v);

	postListObj.appendChild(detailTemplate);
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值