Я создал элемент '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/'); }