我想从HTML图像元素中拉出Alt属性,并且有10个这样的具有img元素作为子元素的父级DIV元素。当前设置的问题是GTM iam在有人点击图像元素时无法获取专家的姓名。自定义Javascript变量的问题
为了克服这个问题,我使用下面的java脚本作为GTM中的一个自定义javascript变量来捕获Alt属性,但是它的未定义。
基本上iam将点击事件附加到所有DIV元素,所以当用户点击任何DIV时,我使用当前目标并访问子元素来获取ATT。我已经在控制台中测试过,它工作,但作为一个自定义Javascript变量IAM变得未定义。
您能否请帮助。
HTML代码
<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>
在GTM
自定义JavaScript变量
function(){
try{
var divHead= document.getElementsByClassName('card__media-overlapping__media');
var eventhandlerdoc = function(event){
var imgALT=event.currentTarget.firstElementChild.firstElementChild.getAttribute('alt');
return imgALT;
}
for(var index=0; index < divHead.length; index++){
divHead[index].addEventListener('click',eventhandlerdoc,true);}
}
catch(e){
return "n/a"
}
}
嗨爱德华多,非常感谢您的帮助,但这只能解决我的问题的一部分。正如你所看到的,图片标签被包含在锚标签内。我现在如何获得“href”? –
@SrijithRamachandran你没有提到任何有关HREF的内容。我的解决方案解决了您所描述的问题。我会用新的问题要求开一个新的问题。 – Eduardo
嘿,对不起,但我找到了出路。我所做的是将“a”标记的href复制到图像id属性,并使用Autoevent变量捕获图像的id :-)。这解决了我的两个问题。非常感谢您的帮助。 Iam致力于为我的客户实施GTM。 Iam肯定会有很多问题:)。 –