2009-10-25 23 views
5

Ich muss basierend auf Xpath auswählen oder Xpath in CSS konvertieren.jquery: Auswählen von Xpath oder Konvertieren von Xpath zu CSS?

ist ein Plugin oder eine eingebaute Funktion.

ex. $('/html/body/div/a[4]').each ....

+0

Ich bin nicht allzu vertraut mit XPATH, ich gehe davon aus dem ist jedes div auf der Seite zu finden und dann den fünften Link für jede dieser divs? – WesleyJohnson

+1

Ich weiß nicht, ob das veraltet ist oder nicht, aber das deutet darauf hin, dass jQuery das nativ machen kann? http://dev.jquery.com/wiki/XPath?version=3 – WesleyJohnson

+2

XPath Unterstützung ich glaube, wurde fallengelassen. – jqjqjqjqu

Antwort

3

Nicht alle xpath-Ausdrücke können in CSS-ähnliche Selektoren übersetzt werden oder funktionieren nicht effizient. Sie können den :eq-Selektor verwenden, um auf Elemente nach Index zuzugreifen. Es wird jedoch empfohlen, stattdessen die Methode eq zu verwenden. Dies entspräche des XPath in Ihrem Beispiel:

$('html > body > div > a').eq(3).each(... 
+0

Sie können auch '$ ('html> body> div> a: eq (4)') verwenden (...' – Blaise

+0

Beachten Sie, dass '[4]' in Xpath mit 'eq (3)' in jQuery korrespondiert obwohl! Xpath beginnt bei 1 zu zählen, nicht 0. – Blaise

+1

@Blaise: Richtig, das ist möglich, aber die Dokumentation empfiehlt die 'eq' Methode für eine bessere Leistung in modernen Browsern zu verwenden: http://api.jquery.com/eq -selector/Guter Punkt über den Index, korrigierte ich den Code in der Antwort. – Guffa

Verwandte Themen