js获取table中的td宽度并赋值到另一个table的td中,实现宽度对齐
如题:js获取table中的td宽度并赋值到另一个table的td中,实现宽度上下对齐<tableid="top"><tr><td>我是第一个---速度</td><td>...
如题:js获取table中的td宽度并赋值到另一个table的td中,实现宽度上下对齐
<table id="top">
<tr>
<td>我是第一个---速度</td>
<td>我是第二个-3</td>
<td>我是第三个-是生生</td>
</tr>
</table>
<table id="buttom">
<tr>
<td>我要跟top的第一个宽相等21</td>
<td>我要跟top的第二个宽相等</td>
<td>我要跟top的第三个宽相等---淡淡的</td>
</tr>
<tr>
<td>我要跟top的第一个宽相等21</td>
<td>我要跟top的第二个宽相等</td>
<td>我要跟top的第三个宽相等---淡淡的</td>
</tr>
</table>
这个怎么实现,我知道如果2个table宽度一样的话可以
function fixDiv()
{
var objLeft = document.getElementById('top);
var objRight = document.getElementById('buttom');
if (objLeft.offsetWidth != objRight.offsetWidth){
objRight.style.width = objLeft.offsetWidth + 'px';
}else{
objLeft.style.width = objRight.offsetWidth + 'px';
}
}
这样实现,但是要控制table里面的td怎么控制呢,并且td的数量是不定的也可能是1个,可能是2个,也可能是几十个,但是不管怎样,top很buttom的td数目都是一样的,
注:如果能完成的话我会追加分,这里只是不想系统吃了分,呵呵 展开
<table id="top">
<tr>
<td>我是第一个---速度</td>
<td>我是第二个-3</td>
<td>我是第三个-是生生</td>
</tr>
</table>
<table id="buttom">
<tr>
<td>我要跟top的第一个宽相等21</td>
<td>我要跟top的第二个宽相等</td>
<td>我要跟top的第三个宽相等---淡淡的</td>
</tr>
<tr>
<td>我要跟top的第一个宽相等21</td>
<td>我要跟top的第二个宽相等</td>
<td>我要跟top的第三个宽相等---淡淡的</td>
</tr>
</table>
这个怎么实现,我知道如果2个table宽度一样的话可以
function fixDiv()
{
var objLeft = document.getElementById('top);
var objRight = document.getElementById('buttom');
if (objLeft.offsetWidth != objRight.offsetWidth){
objRight.style.width = objLeft.offsetWidth + 'px';
}else{
objLeft.style.width = objRight.offsetWidth + 'px';
}
}
这样实现,但是要控制table里面的td怎么控制呢,并且td的数量是不定的也可能是1个,可能是2个,也可能是几十个,但是不管怎样,top很buttom的td数目都是一样的,
注:如果能完成的话我会追加分,这里只是不想系统吃了分,呵呵 展开
3个回答
展开全部
给你说下思路,
document.getElementById("top").rows.length可以获得top表的行数
document.getElementById("top").rows[0].cells.length可以获得top表的第一行的列数
document.getElementById("top").rows[0].cells[0].offsetWidth可获得top表第一行第一列的实际宽度,(注意,这个是只读的!)
所以
for(var i=0;i<document.getElementById("top").rows[0].cells.length;i++)
{
document.getElementById("buttom").rows[0].cells[i].width=document.getElementById("top").rows[0].cells[i].offsetWidth;
}
希望对你有帮助!
document.getElementById("top").rows.length可以获得top表的行数
document.getElementById("top").rows[0].cells.length可以获得top表的第一行的列数
document.getElementById("top").rows[0].cells[0].offsetWidth可获得top表第一行第一列的实际宽度,(注意,这个是只读的!)
所以
for(var i=0;i<document.getElementById("top").rows[0].cells.length;i++)
{
document.getElementById("buttom").rows[0].cells[i].width=document.getElementById("top").rows[0].cells[i].offsetWidth;
}
希望对你有帮助!
展开全部
document.getElementById("top").rows.length可以获得top表的行数。
document.getElementById("top").rows[0].cells.length可以获得top表的第一行的列数。
document.getElementById("top").rows[0].cells[0].offsetWidth可获得top表第一行第一列的实际宽度,(注意,这个是只读的!)
所以
for(var i=0;i<document.getElementById("top").rows[0].cells.length;i++)
{
document.getElementById("buttom").rows[0].cells[i].width=document.getElementById("top").rows[0].cells[i].offsetWidth;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-12-03
展开全部
你可以参考这里的设置td宽度
接下来就要设置td宽度了,要获取某元素的宽度可以通过以下方法:
1,支持defaultView的可以直接用getComputedStyle获取width。
2,获取offsetWidth,再减去border和padding的宽度。
这个本来也可以,但td的border宽度的获取比较麻烦,下面有更方便的方法。
3,获取clientWidth,再减去padding的宽度。
这个跟方法2差不多,但更简单方便。
接下来就要设置td宽度了,要获取某元素的宽度可以通过以下方法:
1,支持defaultView的可以直接用getComputedStyle获取width。
2,获取offsetWidth,再减去border和padding的宽度。
这个本来也可以,但td的border宽度的获取比较麻烦,下面有更方便的方法。
3,获取clientWidth,再减去padding的宽度。
这个跟方法2差不多,但更简单方便。
参考资料: http://www.blueidea.com/common/shoutbox/redir.asp?2=n&id=10778
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询