Nokogiri :: XML :: Elementがある場合、その親インデックスと子インデックスをどのようにして計算しますか?つまり:JavascriptlandでNokogiri要素の子インデックスを調べる
<foo> <-- parent
<bar/> <-- 1st child
<bar/> <-- 2nd child
</foo>
、jQueryのはindex()を持っていますが、鋸山はしていません。鋸山はpath方法を提供し、それはので、バックナンバーに回す少し毛深いです、"/foo/bar[2]"
のようなXPath文字列を返し、ブートするbar[1]
bar
に切り捨て:
element.path.split('/').last.slice(/[0-9]+/) || '1' # quick'n'dirty
element.path.split('/').last.slice(/\[([0-9]+)\]/, 1) || '1' # a bit safer
(注)このリスト内のテキストノードが含まれることを。 – Phrogz
美しい! @Phrogz、要点、しかしそれはあなたの答えのようにelement_childrenを代わりに使って簡単に修正されています。 – jpatokal
@jpatokalはい。私は間違っているにもかかわらず、まだ彼の答えをupvoted。 – Phrogz