Как вы можете изменить href для гиперссылки, используя jQuery?
javascript
jquery
hyperlink
Брайан Боатрайт
источник
источник
Ответы:
С помощью
изменит ссылку на все гиперссылки, чтобы они указывали на Google. Вы, вероятно, хотите несколько более изысканный селектор, хотя. Например, если у вас есть сочетание тегов привязки источника ссылки (гиперссылка) и цели ссылки (она же «якорь»):
... Тогда вы, вероятно, не хотите случайно добавлять
href
к ним атрибуты. В целях безопасности мы можем указать, что наш селектор будет сопоставлять только<a>
теги с существующимhref
атрибутом:Конечно, вы, вероятно, будете иметь в виду нечто более интересное. Если вы хотите сопоставить привязку с конкретным существующим
href
, вы можете использовать что-то вроде этого:Это найдет ссылки, где
href
точно соответствует строкаhttp://www.google.com/
. Более сложная задача может соответствовать, затем обновлять только частьhref
:В первую часть выбирает только ссылки , где HREF начинается с
http://stackoverflow.com
. Затем определяется функция, которая использует простое регулярное выражение для замены этой части URL-адреса новой. Обратите внимание на гибкость, которую это дает вам - здесь может быть сделано любое изменение ссылки.источник
each
- теперь будет возможно следующее:$(selector).attr('href', function() { return this.replace(/.../, '...'); });
href
:...return this.href.replace(/.../, '...'); });
С jQuery 1.6 и выше вы должны использовать:
Разница между
prop
иattr
заключается в том, чтоattr
захватывает атрибут HTML, аprop
захватывает свойство DOM.Вы можете найти более подробную информацию в этом сообщении: .prop () vs .attr ()
источник
prop
overattr
, для людей, которые приходят к вопросу и находят, что, по-attr
видимому, прекрасно работают в новых версиях jQuery ...prop
быстрее, чемattr
потому, что оно обновляет dom, а не модифицирует HTML. jsfiddle.net/je4G5Используйте
attr
метод в вашем поиске. Вы можете отключить любой атрибут с новым значением.источник
В зависимости от того, хотите ли вы поменять все идентичные ссылки на что-то еще, или вы хотите контролировать только те, которые находятся в данном разделе страницы, или каждую по отдельности, вы можете сделать одну из них.
Измените все ссылки на Google, чтобы они указывали на Карты Google:
Чтобы изменить ссылки в данном разделе, добавьте класс контейнера div в селектор. Этот пример изменит ссылку Google в содержании, но не в нижнем колонтитуле:
Чтобы изменить отдельные ссылки независимо от того, где они находятся в документе, добавьте идентификатор в ссылку, а затем добавьте этот идентификатор в селектор. В этом примере будет изменена вторая ссылка Google в контенте, но не первая или та, что в нижнем колонтитуле:
источник
Несмотря на то, что OP явно запрашивает ответ jQuery, вам не нужно использовать jQuery для всего в наши дни.
Несколько методов без jQuery:
Если вы хотите изменить
href
значение всех<a>
элементов, выберите их все, а затем выполните итерацию по нодлисту : (пример)Если вы хотите изменить
href
значение всех<a>
элементов, которые действительно имеютhref
атрибут, выберите их, добавив[href]
атрибут селектора (a[href]
): (пример)Если вы хотите изменить
href
значение<a>
элементов, которые содержат определенное значение, напримерgoogle.com
, используйте селектор атрибутаa[href*="google.com"]
: (пример)Кроме того, вы также можете использовать другие селекторы атрибутов . Например:
a[href$=".png"]
может использоваться для выбора<a>
элементов,href
значение которых заканчивается на.png
.a[href^="https://"]
может быть использован для выбора<a>
элементов сhref
значениями, которые префиксом сhttps://
.Если вы хотите изменить
href
значение<a>
элементов, которые удовлетворяют нескольким условиям: (пример)..не нужно регулярное выражение, в большинстве случаев.
источник
Этот фрагмент кода вызывается при нажатии на ссылку класса «menu_link» и показывает текст и URL-адрес ссылки. Возврат false предотвращает переход по ссылке.
источник
Простой способ сделать это:
Функция Attr (с версии jQuery 1.0)
или
Функция поддержки (начиная с версии 1.6 JQuery)
Кроме того, преимущество описанного выше способа заключается в том, что если селектор выбирает одну привязку, он обновляет только эту привязку, а если селектор возвращает группу привязки, он обновляет конкретную группу только с помощью одного оператора.
В настоящее время существует множество способов идентифицировать точный якорь или группу якорей:
Довольно простые:
$("a")
$("a:eq(0)")
active
):$("a.active")
profileLink
идентификатора):$("a#proileLink")
$("a:first")
Более полезные из них:
$("[href]")
$("a[href='www.stackoverflow.com']")
$("a[href!='www.stackoverflow.com']")
$("a[href*='www.stackoverflow.com']")
$("a[href^='www.stackoverflow.com']")
$("a[href$='www.stackoverflow.com']")
Теперь, если вы хотите изменить определенные URL-адреса, вы можете сделать это следующим образом:
Например, если вы хотите добавить прокси-сайт для всех URL-адресов, идущих на google.com, вы можете сделать это следующим образом:
источник
Прекратите использовать jQuery только ради этого! Это так просто только с JavaScript.
https://jsfiddle.net/bo77f8mg/1/
источник
источник
Измените HREF WordPress Avada Theme Изображение логотипа
Если вы установите плагин ShortCode Exec PHP, вы можете создать этот шорткод, который я назвал myjavascript
Теперь вы можете перейти к Appearance / Widgets и выбрать одну из областей виджета нижнего колонтитула и использовать текстовый виджет, чтобы добавить следующий шорткод
Селектор может меняться в зависимости от того, какое изображение вы используете, и готов ли он к сетчатке, но вы всегда можете выяснить это с помощью инструментов разработчика.
источник
href
в атрибуте, так что вы можете изменить его, используя чистый JavaScript, но если у вас уже есть jQuery на вашей странице, не волнуйтесь, я покажу это в обоих направлениях:Представьте, что у вас есть это
href
ниже:И вы хотели бы изменить его ссылку ...
Используя чистый JavaScript без какой-либо библиотеки, вы можете сделать:
Но также в jQuery вы можете сделать:
или
В этом случае, если вы уже внедрили jQuery, вероятно, jQuery один выглядит короче и более кроссбраузерен ... но кроме этого я иду с
JS
одним ...источник