Вы можете вызвать функцию, которая принимает значение параметра при нажатии вместо загрузки страницы.
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>