I have the following line:
<a href="page.php">Mt 5: 2</a>
And I use jquery code to echo (match) whatever between the > <
brackets and makes the link as follows:
<a href="page.php?q=Mt 5: 2">Mt 5: 2</a>
Now I need the link to be as follows:
<a href="page.php?book=Mt&chapter=5&vmin=2">Mt 5: 2</a>
The code I am currently using to match all is:
$(document).ready(function() {
$("a[href='page.php']").each(function(index, element){
href = $(element).attr('href');
$(element).attr('href', href + "?q=" + $(element).text());
});
});
So I need to divide whatever between the > <
to three sections respectively:
You need to split text of each link and use all three values separately to make your desired href
like below:-
$(document).ready(function() {
$("a[href='page.php']").each(function(index, element){
href = $(element).attr('href'); // get the href
text = $(element).text().split(' '); // get the text and split it with space
$(element).attr('href', href + "?book=" +$.trim(text[0])+"&chapter="+$.trim(text[1].slice(0,-1))+"&vmin="+$.trim(text[2])); //create desired href and replace it with older-one
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="page.php">Mt 5: 2</a><br>
<a href="page.php">Mt 7: 2</a><br>
<a href="page.php">Mt 10: 2</a><br>
Note:-
trim()
used to remove extra spaces if the value have any(leading/trailing spaces).
slice()
used to remove :
from the second value.