table td单元格生成tr问题

假设现在有10个td的json对象,td的colspan属性值取1-3, 现在要把它们变成td放到tr中. td的colspan为1时,tr里放3个td,colspan为2时,tr里放两个td.colspan为3时,tr里放3个td. 怎么做到?

阅读 2k
2 个回答
新手上路,请多包涵
<tr ng-if="$scope.colspan === 1">
    <td></td>
    <td></td>
    <td></td>
</tr>
<tr ng-if="$scope.colspan === 2">
    <td></td>
    <td></td>
</tr>
<tr ng-if="$scope.colspan === 3">
    <td></td>
    <td></td>
    <td></td>
</tr>

用angular>ng-if解决

随便猜了下你的想法。。

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('')
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题