以下标记被夸大以证明问题。
我正在尝试捕获点击链接的主要行...它恰好发生在其他一些东西深处。
<div class="mainRow">
...
</div>
<div class="mainRow">
<div>
<div>
<div>(x number of layers)
<div>
<div>
<div>
<div>
<div>
<div>
<a class="someLink">click me</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>(/x number of layers)
</div>
</div>
</div>
<div class="mainRow">
...
</div>
在 mootools *中,您可以通过说.getParent().getParent()...<xTimes>...getParent()
等手动获取该父元素
有没有办法随意遍历一对父母x次以便它停在div.mainRow
?
(编辑:大声笑......对不起大家,我想我错误地在我的问题中写了“jquery”。我在问mootools。)
答案 0 :(得分:2)
父项遍历在mootools中很简单。
在您的情况下,getParent([optional selector])
方法将尝试匹配任何父节点:
http://mootools.net/docs/core/Element/Element#Element:getParent - 所以.getParent("div.mainrow")
将返回第一个匹配项,如果没有找到则返回null。
你有时也可以使用反向组合选择器,但不是在点击事件上。
例如,document.getElements("div.mainRow a.someLink ! div.mainRow")
将仅返回直接具有类“someLink”的链接的div.mainRow元素。在某种程度上,例如.contains()
,但您也可以通过附加! div