2011-09-24 42 views
4

爲什麼我不能更改此元素的CSS?jquery - 對象...沒有方法'css'

$("div.example ul li").mouseover(function() { 
     var ul_teirs = $("div.example ul li").find('ul'); 
     var second_teir = ul_teirs[0]; 
     var third_teir = ul_teirs[1]; 

     second_teir.css({ 
     ... 
     }); 
    }); 

錯誤我越來越:

Uncaught TypeError: Object #<HTMLUListElement> has no method 'css' 

回答

15

當您使用[]在一個jQuery數組訪問某個項目,你得到的DOM元素,而不是一個jQuery對象,所以它沒有任何jQuery方法。

嘗試.eq()代替:

var second_tier = ul_tiers.eq(0); 
second_tier.css({ ... }); 

(注意,我在變量名改爲 「梯隊」 的拼寫對不起,我不能幫助自己)

+0

哎呀,注意到我在這裏是不正確的 - @Dogbert有正確的答案。由於這已被選定爲正確的,我正在更新我的答案以解決問題。 – nrabinowitz

+0

用於拼寫和語法 – ColBeseder

3

嘗試

var second_teir = ul_teirs.eq(0); 
    var third_teir = ul_teirs.eq(1);