为什么带有运算符 AND 的表达式在 css 选择器中不起作用
Why an expression with operator AND doesn't work in css selector
我写了两个 css 选择器表达式,它们看起来非常相似,只有一个变化。
我不明白为什么第二个不起作用:
1.
a>div[id='nav-cart-count-container']>span[id='nav-cart-count'].nav-cart-count
a>div[id='nav-cart-count-container']>span[id='nav-cart-count'][class='nav-cart-count']
我知道一个就够了,但我想同时了解它们。
因此,如果有人能向我解释写作 [class='nav-cart-count'] 有什么问题,我会很高兴,因为我看到了一个看起来相同且有效的示例:
input[key='something'][type='sometype']
这个
span[id='nav-cart-count'].nav-cart-count
表达式的字面意思是,我们正在定位具有 id
属性值 等于 到 nav-cart-count
的 span
元素,它 有 class nav-cart-count
.
第二个表达式
span[id='nav-cart-count'][class='nav-cart-count']
表示具有 id
属性值 等于 到 nav-cart-count
和 class
属性值 的 span
元素等于 到 nav-cart-count
.
因此,如果此 span
元素具有如下 class
属性值: nav-cart-count counter
第一个定位器表达式将匹配它,而第二个则不会!
要匹配这两种情况,您可以使用第一个表达式
span[id='nav-cart-count'].nav-cart-count
或者可以修改第二个表达式以搜索 contains 而不是 equals,像这样:
span[id='nav-cart-count'][class*='nav-cart-count']
我写了两个 css 选择器表达式,它们看起来非常相似,只有一个变化。 我不明白为什么第二个不起作用:
1.
a>div[id='nav-cart-count-container']>span[id='nav-cart-count'].nav-cart-count
a>div[id='nav-cart-count-container']>span[id='nav-cart-count'][class='nav-cart-count']
我知道一个就够了,但我想同时了解它们。 因此,如果有人能向我解释写作 [class='nav-cart-count'] 有什么问题,我会很高兴,因为我看到了一个看起来相同且有效的示例:
input[key='something'][type='sometype']
这个
span[id='nav-cart-count'].nav-cart-count
表达式的字面意思是,我们正在定位具有 id
属性值 等于 到 nav-cart-count
的 span
元素,它 有 class nav-cart-count
.
第二个表达式
span[id='nav-cart-count'][class='nav-cart-count']
表示具有 id
属性值 等于 到 nav-cart-count
和 class
属性值 的 span
元素等于 到 nav-cart-count
.
因此,如果此 span
元素具有如下 class
属性值: nav-cart-count counter
第一个定位器表达式将匹配它,而第二个则不会!
要匹配这两种情况,您可以使用第一个表达式
span[id='nav-cart-count'].nav-cart-count
或者可以修改第二个表达式以搜索 contains 而不是 equals,像这样:
span[id='nav-cart-count'][class*='nav-cart-count']