2012-08-08 69 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)選擇將在未來 版本中將會棄用。因此不鼓勵使用它的替代 選擇器。

但是,它還沒有被棄用,所以它仍然適用於你。