を使用して XML ドキュメントを jQuery にロードします$xml = $(xmldoc)
。次に、 でフィルタリングし$xml.filter('id="something"')
ます。フィルタリングされた xml で使用.index()
すると、jQuery は、フィルタリングされたリストではなく、元のリストのインデックスを返します。
例:
<xmlroot>
<xmlnode id="1" color="blue" />
<xmlnode id="2" color="orange" />
<xmlnode id="3" color="blue" />
<xmlnode id="4" color="orange" />
<xmlnode id="5" color="blue" />
</xmlroot>
vObject = $xml.filter('[color="orange"]'); //vObject should just receive the xmlnodes 2 and 4
vResult = vObject.filter('[id="4"]').index();
vResult は常に 3 ですが、1 にする必要があります。
この jQuery の動作が設計によるものであることはわかっていますが、すべての xml ではなく、フィルター処理された xml で vObject を埋めるソリューションが必要です。私は一晩中試しましたが、アイデアがありません。
ここの専門家の一人が助けてくれたら、とてもうれしいです。ありがとう!