Prototype.jsでjQueryにparents()みたいなことがしたければup()を使う
Prototype.jsとか久々に触ったので親要素辿るメソッド思い出せなかった。
「jQueryの場合はparents()だよなぁ」とか思い、ドキュメントを検索したけど出て来ず。
ググってもいいのが出て来なくて必死に探してしまった。
答えはhttp://api.prototypejs.org/dom/Element/prototype/up/:titleup()ですと。
<ul class="level-1"> <li class="item-i">I</li> <li class="item-ii">II <ul class="level-2"> <li class="item-a">A</li> <li class="item-b">B <ul class="level-3"> <li class="item-1">1</li> <li class="item-2">2</li> <li class="item-3">3</li> </ul> </li> <li class="item-c">C</li> </ul> </li> <li class="item-iii">III</li> </ul>
こんな感じのHTMLがあった場合に、
$('li.item-2').eq(0).parents('li.item-ii').css('background-color', 'red');
こんなjQueryと同じ動きするscriptをPrototype.jsで書きたい場合は
$$('li.item-2')[0].up('li.item-ii').setStyle({'background-color': 'red'})
と書けばよい。