如何通过JS隐藏Google Tag Manager中带暂停图标的标签行?
解决Google Tag Manager隐藏暂停标签行的问题
你的代码问题在于:只要页面上存在任何一个暂停图标,就会隐藏所有标签行,而不是只隐藏包含暂停图标的那一行。
可以用以下两种简单方法实现需求:
方法一:通过图标定位对应行
找到所有暂停图标元素,再向上找到它们所属的表格行并隐藏:
$('i.pause-circle-filled-icon.no-padding').closest('tr').hide();
closest('tr')会从当前图标元素开始,向上查找最近的<tr>父元素,确保只隐藏该图标所在的行。
方法二:直接选中包含暂停图标的行
用jQuery的:has()选择器,直接筛选出包含暂停图标的表格行:
$('table tbody tr:has(i.pause-circle-filled-icon.no-padding)').hide();
:has(selector)会选中所有包含指定子元素的父元素,这里就是选中包含暂停图标的<tr>。
为什么原来的代码失效?
你之前的逻辑是:只要页面存在暂停图标,就执行隐藏所有行的操作,这会把活跃状态的标签行也一并隐藏。上面的两种方法都是针对单个包含暂停图标的行进行操作,只会隐藏目标行。
内容的提问来源于stack exchange,提问作者Aymen Eddaoudi
相关产品推荐
相关产品推荐

