我试图获取链接名称和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;
但我不知道最后我会怎么做身份证,任何帮助都会受到赞赏。
答案 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));
})
}