我有很多链接,例如以下代码:
<a class="changelink" href="SignForEvent.php?id=1&page=1>Click Here</a>
<a class="changelink" href="SignForEvent.php?id=2&page=1>Click Here</a>
<a class="changelink" href="SignForEvent.php?id=3&page=1>Click Here</a>
<a class="changelink" href="SignForEvent.php?id=4&page=2>Click Here</a>
<a class="changelink" href="SignForEvent.php?id=5&page=2>Click Here</a>
<a class="changelink" href="SignForEvent.php?id=6&page=2>Click Here</a>
如何使用jQuery我只能将&page=
参数更改为例如&#39; 10&#39;。
在我的问题的其他版本中,如何在page=
之前保存链接的所有结构并仅更改此参数?
提前致谢!
答案 0 :(得分:1)
只需使用$().each
迭代元素并使用.replace()
和正则表达式:
var newPage = 10;
$(function(){
$(".changelink").each(function(){
var link = $(this).attr("href");
var currentPage = link.match(/page=([\d]+)/)[1];
$(this).attr("href", link.replace("page=" + currentPage, "page=" + newPage))
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a class="changelink" href="SignForEvent.php?id=1&page=2">Click Here</a>
<a class="changelink" href="SignForEvent.php?id=2&page=2">Click Here</a>
答案 1 :(得分:1)
您可以使用replace
方法将目标字符更改为其他字符
$("a.changelink").each(function(){
var href = $(this).attr("href").replace(/&page=[\d]+/, "&page=10");
$(this).attr("href", href);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="changelink" href="SignForEvent.php?id=1&page=1">Click Here</a>
<a class="changelink" href="SignForEvent.php?id=2&page=1">Click Here</a>
<a class="changelink" href="SignForEvent.php?id=3&page=1">Click Here</a>
<a class="changelink" href="SignForEvent.php?id=4&page=2">Click Here</a>
<a class="changelink" href="SignForEvent.php?id=5&page=2">Click Here</a>
<a class="changelink" href="SignForEvent.php?id=6&page=2">Click Here</a>
答案 2 :(得分:0)
$('changelink').attr("href",lnk.replace('SignForEvent','textThatWillReplaceSignForEvent'));