当有多个类时,按类选择元素?

时间:2014-07-22 01:25:26

标签: xpath domxpath

考虑以下HTML:

<span class="foo">foo</span>

在使用单个类搜索元素时,XPath语法非常好:

@class="foo"

但是,当元素具有多个类时,上述语法不起作用:

<span class="foo bar">foo bar</span>

我发现这种情况的唯一方法是:

contains(concat(" ", normalize-space(@class), " "), " foo ")

这很讨厌!使用这种方法,查询字符串很快变得非常冗长。

是否有更简单的方法来搜索具有多个类的元素?

1 个答案:

答案 0 :(得分:1)

如果一个类包含一个空格,它应该包含多个类

使用此输入:

<span class="foo bar">foo bar</span>

和此查询

contains(normalize-space(span/@class), " ")

输出

true