2

两种不同选择器的优缺点是什么?

我应该使用其中一个吗?

4

2 回答 2

2

我认为这主要是用户偏好的问题。

要选择所有元素的第一个子<p>元素,您可以:

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

我更喜欢使用 Xpath,但 YMMV。

请注意,在内部,所有 CSS 选择器都转换为 Xpath。例如,选择器$$("#one")将被转换为$(".//*[id='one']").

于 2013-05-31T04:45:16.117 回答
2

只是一些注意事项:

  • XPath 中的索引从 1 开始,所以它是//p/*[1]
  • Tritium 中的 CSS 选择器允许您为选择器添加前缀>,如$$("> p > :first-child"); 这将被转换为范围搜索(即,./p/*[1]
  • 因为 CSS 选择器(当前)被动态转换为 XPath,与使用直接 XPath 相比,性能略有下降
于 2013-05-31T08:14:01.480 回答