2010-05-26 158 views
0

我有以下結構:原型 - DOM遍歷最多()

<form> 
    <div class="content"> 
     ... 
    </div> 
    <div class="action"> 
     <p>Select <a class="select_all" href="?select=1" title="Select All">All</a></p> 
    </div> 
</form> 

我使用Prototype的向上()遍歷DOM,以便找到<form>元素對於a.select_all。但以下不起作用:

select_link.up('form'); // returns undefined 

然而,這的確如此。

select_link.up().up().up(); // returns HTMLFormElement 

顯然這是a.select_all的祖先。 API Docs狀態Element.up()支持CSSRule。我在這裏錯過了什麼?

+0

'up'函數與廣告完全一樣,你必須做別的事情。網頁上的任何錯誤? – adamJLev 2010-05-26 16:17:51

+0

@Infinity。沒有其他錯誤。我承認我可能有什麼問題,但也許你可以提供更多的建議。 @Pointy'var select_link = e.element();'。我已經將該函數綁定爲一個事件監聽器。 'e'作爲第一個參數進來。這是非常標準的東西。正如你所說,把它們鏈接起來很奇怪。 – 2010-05-26 20:44:43

回答

0

你使用這樣的代碼:

var select_link = $$('.select_all').first() 

獲得鏈接的DOM的對象?

+0

'$$(base +'.select_all',base +'.select_none')。invoke(「observe」,「click」,toggle_checkboxes.bindAsEventListener(this));'' – 2010-05-27 14:13:54