2009-10-25 12 views
5

necesito seleccionar en base a xpath, o convertir xpath a css.jquery: ¿seleccionando xpath o convirtiendo xpath en css?

hay un complemento o función incorporada.

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

+0

No estoy muy familiarizado con XPath, estoy suponiendo que está encontrando cada div en la página y luego el quinto enlace para cada uno de los divs? – WesleyJohnson

+1

No sé si esto está desactualizado o no, pero esto sugiere que jQuery puede hacerlo de forma nativa. http://dev.jquery.com/wiki/XPath?version=3 – WesleyJohnson

+2

xpath support Creo que se eliminó. – jqjqjqjqu

Respuesta

3

No todas las expresiones xpath son posibles de traducir a selectores similares a CSS, o no funcionan de manera eficiente. Puede usar el selector :eq para acceder a los elementos por índice, pero se recomienda utilizar el método eq para esto. Esto sería equivalente a la XPath en su ejemplo:

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

También puede usar '$ ('html> cuerpo> div> a: eq (4)') cada uno (...' – Blaise

+0

Tenga en cuenta que '[4]' en Xpath se corresponde con 'eq (3)' en jQuery sin embargo! Xpath comienza a contar a 1, no a 0. – Blaise

+1

@Blaise: Correcto, eso es posible. Sin embargo, la documentación recomienda usar el método 'eq' para un mejor rendimiento en los navegadores modernos: http://api.jquery.com/eq -selector/Buen punto sobre el índice, corregí el código en la respuesta. – Guffa