如何获取/设置Div和表格宽度/高度

时间:2010-06-02 05:25:05

标签: asp.net javascript jquery html ajax

我有一个表(或区域),并希望将其宽度和高度值设置为另一个Div(或区域)。

第二个实际上是一个Ajax指标模式,它在页面异步回发时显示加载文本。这是一个例子

<table id="MainTable">
    <tr>
        <td>
             Content ....
        </td>
    </tr>
</table>

<div id="Progress">
     Ajax Indocator
</div>

以下javascript无效

document.getElementById("Progress").style.width = document.getElementById("MainTable").style.width;
document.getElementById("Progress").style.height = document.getElementById("MainTable").style.height;

它应该适用于IE和FireFox。如何纠正它。

我在StackOverFlow中检查了一些其他解决方案,但我无法修复它。

我等着你的消息。


更新:我用这个

<script>
function SetSize(regionToChange, mainRegion) {
    $(document).ready(function() {
        $('#regionToChange)
 .width($('#mainRegion).outerWidth())
 .height($('#mainRegion).outerHeight());
    }); 
}
</script>

我称之为

<asp:Button ID="btnReset" runat="server" SkinID="Button" Text="Reset" OnClick="btnReset_OnClick" OnClientClick="SetSize('Progress', 'MainTable');" />

但是它显示了一个无法找到对象的错误


更新2 我看到此错误

alt text

在调试器中我面对这个

alt text

2 个答案:

答案 0 :(得分:2)

在jQuery中说:

$(document).ready(function(){
   $('#Progress')
     .width($('#MainTable').outerWidth())
     .height($('#MainTable').outerHeight());
});

答案 1 :(得分:1)

在jQuery中你可以做到

$("#Progress").css('width', function(){
   return $("#MainTable").width()+'px';
});

以及高度......

修改

on javascript,

document.getElementById("Progress").style.width = document.getElementById("MainTable").style.width;
document.getElementById("Progress").style.height = document.getElementById("MainTable").style.height;
如果您的html类似于id =“MainTable”

将会起作用

<table id="MainTable" style="width: 500px; height: 300px;">
    <tr>
        <td>
             Content ....
        </td>
    </tr>
</table>

因为您正在访问样式属性...

<强> EDIT2

 function SetSize(regionToChange, mainRegion) {
        $(regionToChange)
         .width($(mainRegion).outerWidth())
         .height($(mainRegion).outerHeight());

  }

//you can use it as

SetSize('#Progress','#MainTable'); // prefix '#'if it's an ID