2016-05-23 3 views
0

У меня есть много ссылок, как следующий код:JQuery - Как заменить только определенную часть из ссылки

<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= аргумент, чтобы быть, например, «10».

В другой версии моего вопроса, как я могу сохранить всю структуру ссылки до page= и изменить только этот аргумент?

Заранее благодарен!

+0

Вы попробовали что-то вроде [этого] (http://stackoverflow.com/a/179717/5139222), прежде чем задавать вопрос? – KuKeC

+0

Возможный дубликат [добавить или обновить параметр строки запроса] (http://stackoverflow.com/questions/5999118/add-or-update-query-string-parameter) – anu

+0

Возможный дубликат http://stackoverflow.com/questions/1090948/change-url-parameters – Chintan

ответ

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>

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>

0
$('changelink').attr("href",lnk.replace('SignForEvent','textThatWillReplaceSignForEvent')); 
Смежные вопросы