Javascript 如果同一行中的span包含文本,则XPath求值返回锚href

Javascript 如果同一行中的span包含文本,则XPath求值返回锚href,javascript,xpath,Javascript,Xpath,如果同一行中的span包含特定的文本,我想返回锚定标记的所有href,但我不确定如何编写此XPath表达式 下面的代码是我能得到的,它将返回span的innerHTML Jsfiddle: var-fruitsArray=[]; var nodesSnapshot=document.evaluate(“//body/table/tbody/tr[*]/td[*]/span[contains(,'apple')]”,document,null,XPathResult.ORDERED\u NODE

如果同一行中的span包含特定的文本,我想返回锚定标记的所有href,但我不确定如何编写此XPath表达式

下面的代码是我能得到的,它将返回spaninnerHTML

Jsfiddle:

var-fruitsArray=[];
var nodesSnapshot=document.evaluate(“//body/table/tbody/tr[*]/td[*]/span[contains(,'apple')]”,document,null,XPathResult.ORDERED\u NODE\u SNAPSHOT\u TYPE,null);
对于(变量i=0;i

橙色
苹果
香蕉
苹果

尝试以下任一
xpath
查找


使用或条件更新了xpath

//span[contains(.,'apple') or contains(.,'banana') ]/parent::td/preceding-sibling::td/a 

尝试以下任一
xpath
查找


使用或条件更新了xpath

//span[contains(.,'apple') or contains(.,'banana') ]/parent::td/preceding-sibling::td/a 

一个更简单的表达:

//a/parent::*[contains(..,'apple')]/a/@href

这将选择两个
http://www.apples.com
链接。

一个更简单的表达:

//a/parent::*[contains(..,'apple')]/a/@href

这将选择两个
http://www.apples.com
链接。

你可以用不同的方式剥同一个苹果。然而,在这种情况下,我会坚持以下几点

试试这个:

"//tr[.//span[contains(.,'apple')]]//a/@href"

你可以用不同的方法剥同一个苹果。然而,在这种情况下,我会坚持以下几点

试试这个:

"//tr[.//span[contains(.,'apple')]]//a/@href"

谢谢昆都克,这三个对我来说都很好。现在,如果我想使用or语句,我怎样才能退回苹果或香蕉呢?谢谢KunduK,这三种方法对我来说都非常有效。现在,如果我想使用or语句,我怎样才能返回苹果或香蕉?