Вставьте содержимое тега в путь запроса get - PullRequest
0 голосов
/ 22 мая 2018

Как получить содержимое из:

 <p id1="p-1-1"> Samsung Galaxy S8 Dual </ p>

и передать его параметру:

<a href="/about?param=HERE" class="btn2"> Learn more </a>

Все содержимое тега p изменяется из-за запросов ajax, и мне нужноперенести содержимое, которое в данный момент есть.

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Получите значение следующим образом:

var v = document.querySelector('p[id1="p-1-1"]').value;

и установите параметр следующим образом:

var target = document.getElementsByClassName("btn2")[0];
target.href = target.href.substring(0, target.href.indexOf("=") + 1) + '"' + v + '"';
0 голосов
/ 22 мая 2018

Вы можете вызвать функцию, которая принимает значение параметра при нажатии вместо загрузки страницы.

customRedirect = function(param){
  location.href = "/about?param=" + param;
}
<p id="p-1-1"> Samsung Galaxy S8 Dual </p>

<a href="javascript:void(0)" onclick="customRedirect(document.getElementById('p-1-1').innerHTML)" class="btn2"> Learn more </a>

Лучший способ сделать это (в моем случае с помощью jquery):

$("[customParam]").click(function(){
  location.href = "/about?param=" + $('#' + $(this).attr('call') ).html()
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p id="p-1-1"> Samsung Galaxy S8 Dual </p>

<a href="javascript:void(0)" customParam call="p-1-1" class="btn2"> Learn more </a>

Без jquery:

var elems = document.querySelectorAll("[customParam]")
for(var i = 0; i < elems.length; i++){
  elems[i].addEventListener("click", function(){
    location.href = "/about?param=" + document.getElementById(this.getAttribute('call') ).innerHTML
  })
}
<p id="p-1-1"> Samsung Galaxy S8 Dual </p>

<a href="javascript:void(0)" customParam call="p-1-1" class="btn2"> Learn more </a>
...