我使用$xml = $(xmldoc)
. 然后我通过过滤它$xml.filter('id="something"')
。.index()
在过滤后的 xml 上使用时,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 填充 vObject,而不是用所有的 xml。我已经尝试了一整夜,但我没有想法。
如果这里的一位专家可以提供帮助,将非常高兴。谢谢!