У меня есть несколько таких гиперссылок на моей странице

<a href="http://www.otherdomain.com?r=1234" class="rewrite">Link</a>

Когда в адресе есть строка запроса, например: mydomain.com?r=abcd, гиперссылка должна измениться на <a href="http://www.otherdomain.com?r=abcd" class="rewrite">Link</a>

Я хочу, чтобы то же самое произошло и с аргументом запроса "rh". т. е. когда кто-то идет на mydomain.com?rh=abcd

Это <a href="http://www.otherdomain.com?r=1234" class="rewrite">Link</a>

Должно измениться на <a href="http://www.otherdomain.com?rh=abcd" class="rewrite">Link</a>

По сути скрипт должен сказать: если запросы "r" и "rh" не нулевые, то ссылки с class=rewrite должны быть изменены. Все после "?" необходимо удалить, а строку запроса в адресе добавить к гиперссылкам.

-3
Shyam Sundar 5 Ноя 2011 в 20:16
Если вы хотите пометить несколько ссылок как цель для перезаписи, вы должны использовать класс, а не несколько идентификаторов. Я имею в виду id="rewrite". Я посмотрю на это, но я думаю, что кто-то другой будет быстрее. - Тем не менее, вы должны опубликовать свой сценарий, так как SO предназначен для помощи, а не для полных запросов на программирование.
 – 
Smamatti
5 Ноя 2011 в 20:20
В конце концов я понял, но вопрос не совсем ясен. И ваш второй пример не согласуется с вашим выводом: разве исходная ссылка не должна быть ...?rh=1234 в этом примере?
 – 
Lightness Races in Orbit
5 Ноя 2011 в 20:48
Это также представляет собой «сделайте код для меня, пожалуйста».
 – 
Lightness Races in Orbit
5 Ноя 2011 в 20:49
Нет. исходная ссылка всегда будет иметь ...?r=1234.
 – 
Shyam Sundar
5 Ноя 2011 в 20:50
1
@ShyamSundar: Итак, ваш вопрос на самом деле таков: «если URL-адрес текущей страницы имеет аргумент« r »или« rh »в строке запроса, для каждой ссылки на моей веб-странице с классом« переписать »я хочу, чтобы строка запроса ссылки href была заменена строкой запроса URL-адреса текущей страницы. Пожалуйста, сделайте это для меня».
 – 
Lightness Races in Orbit
5 Ноя 2011 в 20:52

1 ответ

Изменить домен:

var newurl = 'http://testdomain.com';

$('a').each(function(I,EL){
  var url = $(EL).attr('href');

  if(url.indexOf('?')>= 0){
     url = url.split('?');
     url = newurl + url[1];
     $(EL).attr('href', url);
  }

}
0
Peter O. 6 Ноя 2011 в 04:45