2010-10-23 41 views
2

我的問題是最好的例子解釋說:JQuery的parentsUntil與元素作爲變量未如預期工作

這工作:

$(startContainer).parents().each(function(index, parentNode) { 
    if (parentNode.isSameNode(commonContainer)) return false; 
    console.log("start vert struc: " + parentNode.nodeName); 
}); 

雖然,這並不工作:

$(startContainer).parentsUntil(commonContainer).each(function(index, parentNode) { 
    console.log("start vert struc: " + parentNode.nodeName); 
}); 

基本上,據我所知,第二個版本應該也能工作,但事實並非如此。當commonContainer命中時,它不會停止,但第一個版本確實如此。爲什麼是這樣?

回答

2

parentsUntil()的參數應該是選擇器,而不是節點。

+0

+1,[jQuery API參考:'parentsUntil()'](http://api.jquery.com/parentsUntil/)。 – 2010-10-23 20:10:59

+0

啊,我對你對我的第一個問題的回答感到困惑。我想這意味着可以使用節點作爲選擇器。 – Tom 2010-10-23 20:13:04

+0

對不起。有時候重要的是要仔細檢查我,因爲我可能會奇怪地混淆:-) – Pointy 2010-10-23 21:05:34