jQuery:选择XPath还是转换为CSS?

5
我需要基于xpath进行选择,或将xpath转换为css。
是否有插件或内置功能可用?
例如:$('/html/body/div/a[4]').each ....

我对XPATH不是太熟悉,我假设它是在页面上找到每个div,然后对于这些div的第5个链接? - WesleyJohnson
1
我不知道这是否已经过时,但是这个链接表明jQuery可以本地化实现XPath? http://dev.jquery.com/wiki/XPath?version=3 - WesleyJohnson
2
我相信XPath支持已经被删除。 - jqjqjqjqu
1个回答

3
并非所有的xpath表达式都能够转换为类似CSS的选择器,或者不能有效地工作。您可以使用:eq选择器按索引访问元素,但建议您改用eq方法。这将等同于您示例中的xpath。
$('html > body > div > a').eq(3).each( ...

你也可以使用 $('html> body> div> a:eq(4))').each(... - Blaise
请注意,Xpath中的[4]对应于jQuery中的eq(3)。Xpath从1开始计数,而不是0。 - Blaise
1
@Blaise:没错,那是可能的。然而,文档建议在现代浏览器中使用eq方法以获得更好的性能:http://api.jquery.com/eq-selector/ 关于索引的观点很好,我已经在答案中纠正了代码。 - Guffa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接