#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:
это должно сработать!
Комментарии:
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);
}