2011-09-24 85 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);