Google跟踪代码管理器中的父类

时间:2014-10-18 14:21:45

标签: google-tag-manager

我发现此Google跟踪代码管理器宏脚本(http://viget.com/advance/gtm#elementclass)用于识别元素的父级是否具有特定的类值。

function crawlByClassName () {
var el = {{element}};

while (el && el !== document.body && el.className !== 'INSERT CLASS NAME') {
    el = el.parentElement;
}

return el.className === 'INSERT CLASS NAME';
}

有没有办法修改它来记录值,然后使用规则来指定名称?或者有不同的方法来实现这一目标吗?

2 个答案:

答案 0 :(得分:0)

您无法使用规则指定要搜索的父类名称,但您可以使用宏。

例如,如果你想让上面的宏代码保持通用,以便它可以使用任何替代类名,你就可以这样写:

function crawlByClassName () {
    var el = {{element}};
 
    while (el && el !== document.body && el.className !== '{{parent class}}') {
        el = el.parentElement;
    }
 
    return el.className === '{{parent class}}';

然后,您可以创建一个名为“父类”的宏,并将值设置为您要查找的类名。如果要根据不同的条件设置父类的名称,可以使用查找表宏类型。

答案 1 :(得分:0)

谢谢@kevintechie。你的方法可能会奏效。

我能够在这里找到另一种方式https://plus.google.com/100582165749296472339/posts/fa6iKeuF6ig

我可以将它用作宏:

function() {
return {{element}}.parentElement.className;
}

然后在规则中指定类名。这意味着每个班级只有一个宏而不是一个。