2010-05-26 153 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