将相同的ID添加到相同的链接以跟踪广告系列值返回

时间:2016-01-22 12:09:23

标签: javascript arrays adobe-analytics

我试图获取链接名称和href相同的页面上的所有链接,并为返回名称指定一个值,以使对该链接的引用唯一。

因此,如果页面具有以下三个标识链接:

            <a href="link1" class="adobeTrackedCustomLink">About Us</a>
            <a href="link1" class="adobeTrackedCustomLink">About Us</a>
            <a href="link1" class="adobeTrackedCustomLink">About Us</a>

如果第二个链接点击返回的预期结果将是:

  

关于我们-link1-2

我可以获得链接名称和href,如下所示:

            var linkname = $(input).text().trim().replace(/\W/g, '').toLowerCase();
            var hrefname = $(input).closest('a').attr("href").replace(/\W/g, '').toLowerCase();
            return linkname + '-' + hrefname;

但我不知道最后我会怎么做身份证,任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

我想出了一个vanilla js解决方案。它可能有点冗长,但你可以得到这样的id:

var q = document.querySelectorAll('.adobeTrackedCustomLink');

for(var i = 0; i<q.length; i++){
      q[i].id = i; 
      var linkname;
      var hrefname;
      var id;
      q[i].addEventListener('click', function(e){
                e.preventDefault();
                linkname = this.textContent.replace(/\s+/g, '').toLowerCase();
                hrefname = this.getAttribute('href');
                id = Number(this.id);
                console.log("New Name",  linkname+"-"+hrefname+"-"+(Number(id)+1));
      })
 }