2012-08-08 71 views
0
var $track = $('>.jScrollPaneTrack', $container); 

在jquery 1.4.2中工作,在jquery 1.7.2中不起作用。JQuery Parent→子选择器无法正常工作

通过 '作品' 我要回到jQuery的目的是能够做到这一点,例如:

alert($track.html()); 

$track[0].css(..., ...); 


我想我找到一个解决方案: 而不是通常的方式使用变量 - 轨道 - 它现在想要我使用它像临屋区笔 - $(轨道)

例如:

是:

track[0].css(..., ...); 
现在

$(track[0]).css(..., ...); 

由于一些新的内部优化,当jQuery的返回DOM对象,而不是通常jquery的。

回答

3

该选择器应该在1.7.2中工作,但是在将来的jQuery版本中可以使用is being depreciated。试着用.children

$track = $container.children('.jScrollPaneTrack') 
+0

是的,它在1.7.2也可以工作 - http://jsfiddle.net/D4UXT/ – 2012-08-08 15:00:58

+0

我试过使用'儿童',它不会工作:(甚至不会给我.html()内容我试图使这个插件http://code.google.com/p/droplist/使用最新的jquery v.1.7.2而不是旧的1.4.2,因为它给出了例外最新的jquery。 – Felix 2012-08-08 15:08:07

+0

这是一个非常方便的插件顺便说一句,完全值得reanimating:http://picasaweb.google.com/lh/photo/wutgJbulyNxUmyDaFvs-bQ?feat=directlink – Felix 2012-08-08 15:15:01

2

这样做你可以使用children方法代替:

var $track = $container.children('.jScrollPaneTrack'); 

jQuery的docs for the child selector状态:

$("> elem", context)选择将在未来 版本中将会弃用。因此不鼓励使用它的替代 选择器。

但是,它还没有被弃用,所以它仍然适用于你。