如何用javascript找出单元格的大小

时间:2011-03-07 15:59:14

标签: javascript jquery

我有一个弹出窗口,弹出一个<th>,所以它看起来像<td>(不要问为什么)。在1024 * 760上,它与表头单元格的宽度相同,但在1280上它不是那么宽。我怎样才能找到一个脚本来找出<th>的宽度? (我正在使用jQuery。)

编辑:

<th id="telephoneTH" width="25%" >
<span  id="telephoneSpan" class="headerShortDetails">Telephone</span><span onclick="showContactPopup();"  class="infoSpans"> ${bean.phoneNumber}</span>
</th>


var width2 = $('#telephoneTH').outerWidth();
alert(width2);

错误:'null'为null或不是对象

4 个答案:

答案 0 :(得分:4)

使用jQuery,您可以使用$('td').outerWidth();您可能需要向TD元素添加一个类,以便使用您的jQuery选择器指定它。顺便说一句,这个jQuery方法使用了“烘焙”到JS的outerWidth属性,但jQuery更容易:)

答案 1 :(得分:1)

var element = document.getElementById('whatever');
//or however you want to get the element
var width;
if (typeof element.clip !== "undefined") { width = element.clip.width; } 
else {
    if (element.style.pixelWidth) { width = element.style.pixelWidth; } 
    else { width = element.offsetWidth; } 
} 

答案 2 :(得分:0)

jQuery是理想的,如果你可以使用它。

$('#popupId').width( $('#cellID').width() );

或者您可能需要使用outerWidth(),具体取决于您的需求。

答案 3 :(得分:0)

试试这个......让我知道它是否有帮助

                     Col Header one             Col Header二                                                ABC                 XYZ                           
<script language="javascript" type="text/javascript" >
    $(document).ready(function () {
        var tableWidth = $('#testTable').outerWidth();
        var thOneWidth = $('#testTable th.#one').outerWidth();
        var thTwoWidth = $('#testTable th.#two').outerWidth();

        alert('Table width : ' + tableWidth + ' \n' + 'Table Col One width : ' + thOneWidth + ' \n' + 'Table Col Two width : ' + thTwoWidth + ' \n');
    });
</script>