如何讓XPath(1)單線程優先級在Firefox中工作?爲什麼|
在Firefox中「失敗」,但在Chrome中「起作用」?在Firefox中對XPath進行排序
哪一個是正確的(如果在規範中定義了這種行爲)以及如何讓它在全局中工作?
<a>b</a>
<a id="b"></a>
鉻39.0.2171.95
> $x("//a[@id='b'] | //a[text()='b']")
< [<a id="b"></a>, <a>b</a>]
火狐34.0.5
> $x("//a[@id='b'] | //a[text()='b']")
< Array [ <a>, <a#b> ]
編輯:除去or
選擇例如作爲問題是在Firefox而不是有關約|
行爲兩者的區別。
Firefox以何種方式「失敗」?也許[這](http://stackoverflow.com/questions/25407504/what-is-the-difference-between-or-and-when-programming-in-xslt/25407704#25407704)也可以幫助你瞭解區別? –
@MathiasMüller謝謝,似乎Chrome在這裏是錯誤的,因爲規範明確指出文檔順序。需要爲「懶惰」選擇器找到另一種方式。 –
1)node-set是一個無序的節點列表 - 決定如何對所選節點進行排序需要執行,通常它們保留DOM順序; 2)規範沒有定義由|生成的節點集的順序運營商,所以它再次實施來處理。 Chrome和FF都遵循規範,雖然 – comeGetSome