Firefox에서 XPath (1) 한 줄짜리 우선 순위 지정 작업을 수행하려면 어떻게해야합니까? |
이 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> ]
편집 : 질문에 대한 |
행동 Firefox에서하지에 대한이 같은 or
선택 예를 제거 둘 사이의 차이.
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