比较属性值
<div class="asset-body">
函数contains()和concat()必须像
一样使用contains(concat(' ',@class,' '),' asset-body ')
正如帖子How to select an element based on the value of a nested sibling in XPath?接受的答案所述。
或仅使用
@class='asset-body'
就足够了。
答案 0 :(得分:2)
如果您知道输入元素的属性中只使用了一个class
值,那么肯定@class = 'asset-body'
就足够了。然而(X)HTML通常允许class
属性值是一个空格分隔的类名列表,而现在随着CSS的广泛使用,使用各种类名并不罕见,所以为了满足做contains(concat(' ', @class, ' '), ' asset-body ')
的情况是必要的。因此,如果您控制输入并且确定在使用XPath检查的输入元素上只使用了一个类值,则使用短表达式,否则使用长表达式。