alert($('#myTableHeader1').width());
alert($('#myTableHeader1').outerWidth());
alert($('#myTableHeader1').innerWidth());
以上都不是。即使我有帶ID的選擇元素不起作用
<th id="myTableHeader1" width="12%"> testest</th>
我得到的錯誤
空爲空或不是對象
alert($('#myTableHeader1').width());
alert($('#myTableHeader1').outerWidth());
alert($('#myTableHeader1').innerWidth());
以上都不是。即使我有帶ID的選擇元素不起作用
<th id="myTableHeader1" width="12%"> testest</th>
我得到的錯誤
空爲空或不是對象
jQuery(function(){
alert(jQuery('#myTableHeader1').width());
alert(jQuery('#myTableHeader1').outerWidth());
alert(jQuery('#myTableHeader1').innerWidth());
});
問題是你是否運行創建的節點,甚至在你的JavaScript代碼。所以你可以在底部添加JavaScript,或者在dom準備好後運行你的代碼。
無論傳遞到jQuery
奔跑在DOM準備
jQuery(function(){
// codes written here runs at dom ready
});
注意:下面寫的Type1和Type2是一回事
1型
jQuery(function(){
});
2型
$(document).ready(function() {
}) ;
What is the difference between these jQuery ready functions?
你可能會試圖在DOM存在之前,他們訪問的元素。要做到這一點的方法是聽取window.onload
或document.ready
事件。 jQuery讓這很容易爲標準工廠方法可以採取一個函數來自動地綁定到document.ready
事件:
jQuery(function($){});
這具有一個額外的好處,它可以用來別名jQuery
到$
以允許的相容性使用$
而不必擔心noConflict
。
jQuery(function($){
alert($('#myTableHeader1').width());
alert($('#myTableHeader1').outerWidth());
alert($('#myTableHeader1').innerWidth());
});
你最好不要開始使用console.log
代替alert
你可以使用Firebug或內置在Opera或Chrome控制檯。
使用的console.log你應該檢查console
存在:
if (window.console)
{
console.log(
$('#myTableHeader1').width(),
$('#myTableHeader1').outerWidth(),
$('#myTableHeader1').outerWidth()
);
}
這可能是也可能不是你要尋找的解決方案。告訴你需要將HTML和JavaScript一起發佈。它可能與拼寫錯誤或錯誤的html語法一樣簡單。
訪問DOM元素之前,他們不會導致OP正在獲取的錯誤。 – user113716 2011-03-07 17:34:36
鑑於你有console
可用,這應該工作。
$(document)
.ready(function(){
console.log(
$('#myTableHeader1').width(),
$('#myTableHeader1').outerWidth(),
$('#myTableHeader1').outerWidth()
);
});
什麼是e參數?你沒有用'.ready()'得到'event'參數。 – user113716 2011-03-07 17:33:49
習慣的力量;糾正。謝謝**帕特里克dw ** – Dan 2011-03-07 17:35:10
我認爲jQuery的不會讓您日,如果它不是在表
所以嘗試一下本作的html:
<table>
<tr>
<th id="myTableHeader1" width="12%"> testest</th>
</tr>
</table>
,這爲您的jQuery:
$(document).ready(function() {
alert($('#myTableHeader1').width());
alert($('#myTableHeader1').outerWidth());
alert($('#myTableHeader1').innerWidth());
});
這裏是一個工作示例: here
你加載jQuery? – lonesomeday 2011-03-07 17:19:23
@linesomeday是的,我有。我的頭標中有以下內容: – code511788465541441 2011-03-07 17:19:47
@user在哪一行是錯誤? – 2011-03-07 17:22:47