以下标记被夸大以证明问题。
我正在 try catch 已点击链接的主行...碰巧它深埋在一堆其他东西中。
<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。)
最佳答案
父级遍历在 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()
但您也可以通过附加 返回 a 的父级!分区
关于javascript - Mootools:遍历 this.getParent() x 次到特定元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9844441/