изменить href jquery

#jquery

#jquery

Вопрос:

На странице результатов поиска у меня есть ссылки. Я хотел бы изменить href определенного href с DispForm.aspx?ID=n на AllItems.aspx?ID=n , но только для href, которые есть /R/I/P/ в URL.

Я хотел бы использовать jQuery для изменения этих href. Есть предложения?

 <a title="" href="http://win/R/I/P/IL/F/DispForm.aspx?ID=n" id="S">link one</a>
<a title="" href="http://win/R/I/P/L/PN/DispForm.aspx?ID=n" id="S">link two</a>
<a title="" href="http://win/L/L/DispForm.aspx?ID=n" id="S">link three</a>
  

Комментарии:

1. Во-первых, вы не должны использовать один и тот же идентификатор для нескольких элементов. Попробуйте вместо этого использовать class.

2. Идентификаторы всегда должны быть уникальными, вы никогда не должны их дублировать

Ответ №1:

 jQuery('a[href*="/R/I/P/"]').each(function(){
    this.href = this.href.replace('DispForm', 'AllItems');
});
  

Комментарии:

1. @user472285 Что значит «слишком»? Проверьте временные метки в ответах

Ответ №2:

С помощью этого:

 $("a[href*='/R/I/P/']").each(function(){
   var href = $(this).attr('href').replace('DispForm.aspx?', 'AllItems.aspx?');
   $(this).attr("href", href);
});
  

Ответ №3:

это должно сработать!

http://jsfiddle.net/2VZMb/

Комментарии:

1. это выглядит многообещающе, но я хотел бы сохранить? ИДЕНТИФИКАТОР =n в конце href

2. И вы должны сделать это через javascript? разве серверная часть уже не знает идентификатор?

Ответ №4:

 $('a').each(function() {
var href = $(this).attr('href');
if (href.indexOf("/R/I/P") >= 0) {
  $(this).attr('href', new_href);
}