在开发人员的帮助下,我们将数据属性附加到了所有我们想要跟踪的元素上,但是在下面的代码中,单击会落在a标签上,但我想从p标签中获取数据属性.
<main id="content" class="page__content">
<div class="app-container page__content__wrapper">
<div class="page_content_block">
<p data-mng="mian-forgot-primary">
<a href="https://homepage.com">Text about the homepage</a>
</p>
</div>
</div>
</main>
以下功能在控制台(浏览器和Chrome)中工作.我在模拟用户在网站上点击链接时的点击.这个函数的作用是:在DOM中查找p标签,并从中提取属性数据mng.在控制台中,我得到了我想要的"主要"值的输出.
$0.addEventListener('click', (e) => {
e.preventDefault();
const a = e.target.closest('p');
const mng = a.getAttribute('data-mng');
console.log(mng);
});
然后,我try 在Google Tag Manager中将其作为一个函数实现为一个自定义javascript变量,并使用以下函数.当在谷歌标签管理器中预览并点击链接(之前的模拟)时,我只得到了"未定义"的值,我不明白为什么它对我不起作用?
看着这些文件,我觉得.函数"traverses the element and its parents until it finds a node that matches the provided selector string"?
function(){
var gtmMng = event.target.closest('p').getAttribute('data-mng');
return gtmMng;
}