You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Google Tag Manager CSS选择器获取指定第三个span的数值93?

正确获取嵌套span中评分值的CSS选择器方案

首先,先把你给出的HTML结构格式化一下,方便看清层级关系:

<div class="rating-result"> 
  <span> 
    <span> 
      <span itemprop="ratingValue">93</span>% of 
      <span itemprop="bestRating">100</span> 
    </span> 
  </span> 
</div>

为什么你之前的选择器无效?

  • div.rating-result > span > span:这个选择器匹配到的是第二层的<span>(也就是包裹着93和100的父容器),并不是你要的数值所在的目标span;
  • div.rating-result > span:nth-child(3):div.rating-result的直接子元素只有1个<span>,根本不存在第3个子元素,所以这个选择器自然匹配不到任何内容。

几种可靠的正确选择器方法

1. 利用itemprop属性选择器(最推荐)

因为itemprop="ratingValue"是专门标记评分值的语义化属性,不管层级怎么微调,这个属性通常不会变,用它最稳定:

div.rating-result span[itemprop="ratingValue"]

如果想要更精确的层级限定,也可以写成:

div.rating-result > span > span > span[itemprop="ratingValue"]

2. 基于层级结构的子元素选择器

如果你没办法依赖属性,也可以根据目标span在父元素中的位置来选择:
目标span是它父元素(第二层的<span>)的第一个子元素,所以可以用:

div.rating-result > span > span > span:first-child

或者更简洁的写法(前提是页面中没有其他干扰的span):

div.rating-result span:first-child

用上面任意一种选择器,都能精准定位到包含93的那个span标签啦。

内容的提问来源于stack exchange,提问作者chappers

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 10:00:18