繁体   English   中英

Google跟踪代码管理器中有关自定义Javascript变量的jQuery错误

[英]jQuery error on Custom Javascript variable in Google tag manager

当将jquery作为自定义javasript变量运行时,为什么会出现错误? 错误描述是"Error at line 10, character 2: Parse error. ')' expected"

function(){
  $( document ).ready(function() {
    $('button[class="panel__link panel__link--btb"]').on( 'click', function(e) {
       var $label = $( this ).parent().find("h2").text();
       return $label;
    });

  });
};

请指教。

问候,

斯里

删除最后一个分号; 在最后一行:

function(){
$( document ).ready(function() {
$('button[class="panel__link panel__link--btb"]').on( 'click', function(e) {
 var $label = $( this ).parent().find("h2").text();
return $label;
});

});
}

我认为您在使用GTM时犯了一些概念上的错误。 触发触发器时,自定义变量应返回一些值。

我认为您在GTM中的最初目标是:

当用户单击按钮button[class="panel__link panel__link--btb"]时,发送一些标签(到Universal Analytics或其他标签)。 此标记应包含一些文本信息,您可以找到类似.parent().find("h2").text();

如果我是正确的,那么您应该执行以下操作:

  1. 转到变量。 内置变量->配置->启用Click Element
  2. 转到触发器->新建->类型:所有元素-> Click Elementmatches CSS selectorbutton.panel__link.panel__link--btb
  3. 转到变量。 新建->自定义JavaScript: function(){return {{Click Element}}.parent().find("h2").text();} ->名称:“ H2文本”
  4. 转到标签。 新建->从步骤#2分配触发器。 ->类型:(您可以选择所需的内容)->在这里您可以使用变量{{H2 text}} ,它将返回必要的文本

引起该错误的原因是该函数没有名称。 我认为您正在尝试做一个自我调用功能,应该

(function(){
   //your code
}());

您的代码应该是

(function(){
  $( document ).ready(function() {
    $('button[class="panel__link panel__link--btb"]').on( 'click', function(e) {
      var $label = $( this ).parent().find("h2").text();
      return $label;
    });

  });
}());

要么

删除function() {}并只需使用.ready执行代码

$( document ).ready(function() {
    $('button[class="panel__link panel__link--btb"]').on( 'click', function(e) {
      var $label = $( this ).parent().find("h2").text();
      return $label;
    });

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM