假设现在有10个td的json对象,td的colspan属性值取1-3, 现在要把它们变成td放到tr中. td的colspan为1时,tr里放3个td,colspan为2时,tr里放两个td.colspan为3时,tr里放3个td. 怎么做到?
假设现在有10个td的json对象,td的colspan属性值取1-3, 现在要把它们变成td放到tr中. td的colspan为1时,tr里放3个td,colspan为2时,tr里放两个td.colspan为3时,tr里放3个td. 怎么做到?
随便猜了下你的想法。。
var json = [{
colspan: 1,
title: 1
}, {
colspan: 2,
title: 2
}, {
colspan: 3,
title: 3
}]
document.body.innerHTML = '<table>'+ generateTr(json) +'</table>'
function generateTr(json) {
var tr = []
for (var i = 0, l = json.length; i < l; i++) {
var item = json[i],
tds = []
for (var j = 0, k = Math.ceil(3 / item.colspan); j < k; j++) {
tds.push('<td' + (j == 0 ? ' colspan="' + item.colspan+'"' : '') + '>' + item.title + '</td>')
}
tr.push('<tr>' + tds.join('') + '</tr>')
}
return tr.join('')
}
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
4 回答2.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
用angular>ng-if解决