Добавить дополнительный текст в конце всех ссылок в определенном классе

Я создал элемент 'a' с фрагментом класса. Я ищу PHP / JS-код, который добавляет дополнительный текст в конец всего фрагмента внутри класса.

Например:

<a class="fragment" href="http://google.com/" target="_blank">click here</a> 

Вышеприведенный код должен автоматически изменяться на

 <a class="fragment" href="http://google.com/extratext" target="_blank">click here</a> 

Я пробовал этот код, но он вообще не работает. Ссылка при нажатии по-прежнему приводит к исходному URL-адресу

 $("a").click(function() { $(this).prop("href", $(this).prop("href") + "extratext"); }); 

Любая помощь будет принята с благодарностью!

Этот фрагмент добавляет атрибут href, если ссылка на клик:

  document.getElementsByClassName("link")[0].addEventListener("click", function () { this.href += "extratext"; }); 
 <a class="link" href="http://google.com/" target="_blank">click here</a> 

Попробуй это.

attr возвращает атрибут тега.

 $("a").click(function() { $(this).attr("href",$(this).attr("href") + "extratext")); }); 

См. Здесь, чтобы узнать больше. http://api.jquery.com/attr/

Вы можете использовать setAttribute и getAttribute :

 window.addEventListener('DOMContentLoaded', function(e) { // // get all elements with that class // var fragments = document.getElementsByClassName('fragment'); // // for each element attach the event handler // for(var i = 0; i<fragments.length; i++) { fragments[i].addEventListener('click', function(e) { // add extra text var href = this.getAttribute('href'); this.setAttribute('href', href + 'extratext'); console.log(this.outerHTML); }, false); } }); 
 <a class="fragment" href="http://google.com/" target="_blank">click here</a> 

Используйте свойство attr для получения текущего привязанного тега href .

 $("a").click(function () { $(this).attr("href", $(this).attr("href") + "extratext"); }); 
 <a class="fragment" href="http://google.com/" target="_blank">click here</a> 

Или вы можете найти href элемента, который хотите, после чего вы можете установить новое значение своего атрибута href, которое заменяет старый, следующим образом:

  <a class="fragment" href="http://stackoverflow/" target="_blank" onclick="addExtraText()">click here</a> function addExtraText() { var linkElement = document.getElementsByClassName("fragment")[0]; linkElement.setAttribute('href', 'http://stackoverflow/questions/'); }