2013-07-24 89 views
2

我在我的網站中動態設置ul元素的寬度時出現問題。未捕獲TypeError:無法設置未定義屬性'Width'

下面是jQuery的我uusing

var button = $("#navbar"); 
alert(button); 
var count = $("#header li").length; 
alert(count); 
$("#navbar").style.Width = count * 110 

這裏的HTML

<div id="header" class="clearfix"> 
    <div class="clearfix hidden"> 
     <img src="/Content/Images/main-logo.png"> 
    </div> 
    <div id="navbar"> 
     <ul> 
      <li id="home"> 
       home 
      </li> 
      <li id="portfolio"> 
       portfolio 
      </li> 
      <li id="about"> 
       about 
      </li> 
     </ul> 
    </div> 
</div> 

「警報(按鈕)」 返回[對象對象],所以它不是空的(至少我的理解),但每當我嘗試設置它的寬度時,我都會在標題中看到錯誤。

任何人都知道我在做什麼錯了?

回答

5

您必須使用下面的代碼

$("#navbar")[0].style.width = count * 110 

$("#navbar").width(count * 110) 

因爲style是DOM元素的屬性之一,而$("#navbar")是一個jQuery對象,它不包含默認爲style屬性。

+0

就是這樣,謝謝! –

1

style是一個DOM屬性,但不是jQuery對象的屬性。如果你想使用jQuery設置寬度,你可以直接使用css getter/setterwidth function

$("#navbar").width(count * 110); 
$("#navbar").css('width', (count * 110) + "px"); 
+0

輝煌,感謝一噸! –

1

您正在使用$("#navbar")開發jQuery元素。如果你想使用香草JavaScript來設置寬度:

$("#navbar")[0].style.width = count * 110 //note that the width property is not capitalized 

或者使用jQuery的width方法:

$("#navbar").width(count * 110); 
相關問題