动态生成tr和td,每一行只能有四个td
本人求教高手解决,关于根据内容个数动态生成行和列的问题。代码简略如下<html><body><tableid="table"></table></body></html>...
本人求教高手解决,关于根据内容个数动态生成行和列的问题。代码简略如下
<html>
<body>
<table id="table"></table>
</body>
</html>
function changeTab(lmjc){
var size= document.getElementsByName("tdname").length;
for(var i=0 ;i<length;i++ ){
alert(document.getElementsByName("tdname")[i].value);
}
}
size是指从后台传到页面内容的个数,
document.getElementsByName("tdname")[i].value是每个内容的具体值;
我的任务是根据size的多少动态生成td和tr,每一个tr只能有4个td,如果size大于4就要再生成一个tr,简单点说就是每4个td后就要增加一个tr并且把具体的.value值填写到td里面。球高手帮我写好这段js。 展开
<html>
<body>
<table id="table"></table>
</body>
</html>
function changeTab(lmjc){
var size= document.getElementsByName("tdname").length;
for(var i=0 ;i<length;i++ ){
alert(document.getElementsByName("tdname")[i].value);
}
}
size是指从后台传到页面内容的个数,
document.getElementsByName("tdname")[i].value是每个内容的具体值;
我的任务是根据size的多少动态生成td和tr,每一个tr只能有4个td,如果size大于4就要再生成一个tr,简单点说就是每4个td后就要增加一个tr并且把具体的.value值填写到td里面。球高手帮我写好这段js。 展开
展开全部
function changeTab(lmjc){
var size= document.getElementsByName("tdname").length;
var tNdoe = document.getElementById("table"); //获取table节点
for(var i=0 ;i<=size/4;i++ ){
var trNode =document.createElement("tr");
for(var j =0;j<4;j++){
var trNode =document.createElement("td"); //创建td节点
tdNode.innerHTML='放td的值' ; //可以循环赋值
trNode.appendChild(tdNode); //追加td节点到tr ,共四个
}
tNode.appendChild(trNode); //追加tr节点到table
}
}
var size= document.getElementsByName("tdname").length;
var tNdoe = document.getElementById("table"); //获取table节点
for(var i=0 ;i<=size/4;i++ ){
var trNode =document.createElement("tr");
for(var j =0;j<4;j++){
var trNode =document.createElement("td"); //创建td节点
tdNode.innerHTML='放td的值' ; //可以循环赋值
trNode.appendChild(tdNode); //追加td节点到tr ,共四个
}
tNode.appendChild(trNode); //追加tr节点到table
}
}
追问
大哥还是有点问题,现在放td的值出现问题了,现在我的size是5,第一个tr显示4个td的值没问题,但是第二行tr 也显示前四个,应该是第二行只有一个td,显示第五个值。如果size是6,第二行应该只有2个td是5 和6的值
追答
那你的表格出来的效果还是整齐的吗, 没有值得话
innerHTML='' 设置为null呗
展开全部
你后台返回的值是什么格式的呀?
你可以根据后台返回的数据 拼html代码,
你可以根据后台返回的数据 拼html代码,
更多追问追答
追问
就是具体的值,
alert(document.getElementsByName("tdname")[i].value);//得到具体的值,已经拿到了
追答
var trHtml="";
for(var i=0 ;i";
for(var j =0;j"+每个单元格的值+"";
}
trHtml+=""
}
table.append(trHtml);
其实楼上的方法也可以,你喜欢用哪个就用哪个。
建议你在去数据的时候,就把HTML拼接好,或者返回一个json格式的数据,这样的话就方便多了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询