2010-11-29 27 views
1

我正在使用以下jQuery XPath来查找具有“路径名”属性(从URL获取页面位置的变量)的任何元素。查找多个属性的语法

var local_url = "*[url=" + pathname + "]"; 

但是,我现在想要查找此变量是否存在于两个元素属性之一:url或alturl中。我如何在XPath语法中使用这个词,这样我就不必使用if/else语句了? (例如,查找url = pathname或alturl = pathname的所有属性。)

谢谢!

+0

这实际上是一个CSS选择。 XPath选择器不用`@`作为前缀吗? – alex 2010-11-29 02:01:25

回答

3

可以使用multiple selector找到与任一属性匹配的元素,例如:

$("[url=" + pathname + "], [alturl=" + pathname + "]") 
1

我怎么会这个短语中的XPath 语法,所以我不必使用 如果/其他声明? (例如,找到所有 属性其中URL =路径名OR alturl =路径名。)

此XPath表达式

*[@url='someString' or @alturl='someString'] 

选择属于当前节点的子节点,并且具有所有元素属性url的值为'someString'或(非排他性)具有值为'someString'的属性alturl

0

我现在想找到这个 变量是否存在两种元素 属性

之一这正是节点集比较的行为:

*[(@url|@alturl)='someString']