今天我浪费了太多时间。我们假设我有这样的事情:
<div id="p1" class="hit">
<div id="p2" class="no-hit">
<div id="p3" class="hit">
<div id="p4" class="no-hit">
<div id="p5" class="hit">
el
</div></div></div></div></div>
所以我的元素被传递给一个函数,如果它是.hit元素的后代,我希望el
与命中类(在这种情况下是#p1)中最老的祖先相等。
在jQuery中,它就像使用el.parents(“。hit”)并指向最后一个一样简单,但我正在处理遗留代码并且必须使用原型。以下代码适用于jsfiddle,但会在生产中导致非法令牌错误:
if(item.up('.hit') != undefined){
while(item.up('.hit') != undefined){
item = item.up('.hit');
}
}
请原型,告诉我你有一个简单的方法来实现这一目标。
答案 0 :(得分:0)
原型和jQuery在这方面是相似的(至少在我对文档的解释中)。您也应该能够在Prototype中使用.up方法。
您提供的代码也应该与Prototype一起使用。您可以看到示例here。
如果没有,你可以随时尝试.previous方法。
答案 1 :(得分:0)
if(typeof item.up('.hit') != 'undefined') {
while(typeof item.up('.hit') != 'undefined') {
item = item.up('.hit');
}
}