2016-01-22 2 views
-2

Я пытаюсь получить все ссылки на странице, где имя ссылки и href совпадают, и присваивать значение имени возврата, чтобы ссылка на эту ссылку была уникальной.Добавьте уникальный идентификатор к идентичным ссылкам для отслеживания значения кампании.

Так, если страница имеет следующие три identicial ссылки:

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

Ожидаемый результат, если вторая ссылка щелкнул возвращение будет:

ABOUTUS-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

Ваш текущий код, кажется, использует jQuery? –

+0

Я предположил, что использует чистый JavaScript, если это не похоже на случай, ответьте с помощью jQuery-решения, чтобы попробовать. – bigdaveygeorge

ответ

0

Я придумал решение ванили 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)); 
     }) 
}