Pregunta

What are the advantages / disadvantages of the two different selectors?

Should I use one over the other?

¿Fue útil?

Solución

I think it's primarily a matter of user preference.

To select the first child of all <p> elements, you'd do:

  • $("//p/*[1]") in Xpath
  • $$("p > *:first-child") in CSS

I prefer using Xpath, but YMMV.

Note that, internally, all CSS selectors are converted to Xpath. For example, the selector $$("#one") will be converted into $(".//*[id='one']").

Otros consejos

Just a few notes:

  • indexing starts from 1 in XPath, so it's //p/*[1]
  • the CSS selectors in Tritium allow you to prefix a selector with >, as in $$("> p > :first-child"); this will be converted into a scoped search (i.e., ./p/*[1])
  • because CSS selectors are (currently) dynamically converted into XPath, there's a slight performance hit compared to using straight XPath
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top