でクラス名で最も遠い(最古の)祖先を取得しました。今日はこの時間を無駄にしてしまいました。のは、私はこのような何かを持っていると仮定しましょう:プロトタイプ
<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');
}
}
あなたはこれを実現するための簡単な方法を持って教えて、プロトタイプを作成してください。
おそらくjsfiddleと本番サイトの違いは、doctypeの厳密さです。 – clockworkgeek