Использование
$("a").attr("href", "http://www.google.com/")
изменит ссылку на все гиперссылки, чтобы они указывали на Google. Вы, вероятно, хотите несколько более изысканный селектор, хотя. Например, если у вас есть сочетание тегов привязки источника ссылки (гиперссылка) и цели ссылки (a.k.a. "anchor"):
<a name="MyLinks"></a>
<a href="http://www.codeproject.com/">The CodeProject</a>
... Тогда вы, вероятно, не захотите случайно добавлять к ним href
атрибуты. В целях безопасности мы можем указать, что наш селектор будет сопоставлять только теги <a>
с существующим атрибутом href
:
$("a[href]") //...
Конечно, вы, вероятно, будете иметь в виду нечто более интересное. Если вы хотите сопоставить привязку с конкретным существующим href
, вы можете использовать что-то вроде этого:
$("a[href='http://www.google.com/']").attr('href', 'http://www.live.com/')
Здесь будут найдены ссылки, в которых href
точно соответствует строке http://www.google.com/
. Более сложная задача может соответствовать, затем обновлять только часть href
:
$("a[href^='http://stackoverflow.com']")
.each(function()
{
this.href = this.href.replace(/^http:\/\/beta\.stackoverflow\.com/,
"http://stackoverflow.com");
});
Первая часть выбирает только ссылки, где href начинается с с http://stackoverflow.com
. Затем определяется функция, которая использует простое регулярное выражение для замены этой части URL-адреса новой. Обратите внимание на гибкость, которую это дает вам - здесь можно выполнить любую модификацию ссылки.