0

比较属性值

<div class="asset-body">

函数 contains() 和 concat() 是否必须像这样使用

contains(concat(' ',@class,' '),' asset-body ')

如帖子的如何根据 XPath 中嵌套兄弟的值选择元素中所述?接受的答案。

或仅使用

@class='asset-body'

足够了。

4

1 回答 1

2

class好吧,如果您知道输入元素的属性中只使用了一个值,那么肯定@class = 'asset-body'就足够了。然而,(X)HTML 通常允许class属性值是一个以空格分隔的类名列表,现在随着 CSS 的广泛使用,使用各种类名并不少见,所以为了迎合这种情况,这样做contains(concat(' ', @class, ' '), ' asset-body ')是必要的. 因此,如果您控制输入并确定在您使用 XPath 检查的输入元素上只使用一个类值,则使用短表达式,否则使用长表达式。

于 2012-10-31T11:44:35.890 回答