自定义Javascript变量的问题

时间:2017-07-27 13:57:29

标签: javascript google-analytics google-tag-manager

我正在尝试从HTML图像元素中拉出Alt属性,并且有10个这样的父DIV元素具有img元素作为子元素。当前设置的问题在于GTM iam在有人点击Image元素时无法获取专家名称。

为了克服这个问题,我使用下面的java脚本作为GTM中的自定义javascript变量来捕获Alt属性,但它未定义。

基本上iam将click事件附加到所有DIV元素,因此当用户点击任何DIV时,我使用currenttarget并访问子元素以获取ATT。我已经在控制台中对它进行了相同的测试并且它可以工作但是作为一个自定义Javascript变量我未定义。

你能帮忙吗?

HTML代码

cv2.cv2

GTM中的自定义Javascript变量

<div class="card__media-overlapping__media">
<a href="https://capgemini.aws.hmn.md/experts/testing/wouter-koppen/">
<img src="https://placehold.it/617x347" alt="Wouter Koppen">
</a></div>

2 个答案:

答案 0 :(得分:2)

您的Javascript函数不返回任何内容。它只是将函数处理程序绑定到返回ALT值的DOM事件。 Javascript函数本身已经在事件处理程序触发时返回。

执行此操作的正确方法是首先创建一个变量,以便在单击时保存elemtn的alt文本。您将使用自动事件变量类型并从类型中选择事件属性,并为属性选择alt。 :

enter image description here

当你在那里也启用内置变量“Click Element”时,你将在下一步使用它。

接下来,您需要在单击具有此属性的元素时触发的标记。这意味着具有以下触发器的标记与CSS Selector .card__media-overlapping__media img匹配。

enter image description here

现在,无论何时单击具有此属性的元素,标记都将触发,变量将具有alt的正确值。现在,您可以在标签中随意使用它,例如作为eventAction传递给分析。

答案 1 :(得分:-1)

在HTML中,您可以使用alt标记中包含的数据为您的img标记指定id和data属性,然后将其拉出而不是使用alt标记。虽然我不完全确定你的要求。

<img
id="alt"
data-alt="Wouter Koppen"

var altImg = document.getElementById('alt');

将返回&#34; Wouter Koppen&#34;