kzen.dev
  • Въпроси
  • Етикети
  • Потребители
Известия
Награди
Регистрация
След като се регистрирате, ще бъдете уведомявани за отговорите и коментарите на вашите въпроси.
Влезте в системата
Ако вече имате акаунт, влезте в него, за да проверите новите известия.
За добавените въпроси, отговори и коментари ще има награди.
Още
Източник
Редактиране на
Brian Boatright
Brian Boatright
Въпрос

Как да промените href за хипервръзка с помощта на jQuery

Как можете да промените href за хипервръзка с помощта на jQuery?

1228 2008-10-07T18:17:33+00:00 3
John Slegers
John Slegers
Редактиран въпрос Направете януари 2016 в 8:19
Програмиране
javascript
jquery
hyperlink
Този въпрос има 1 отговор на английски език, за да ги прочетете влезте в профила си.
Решение / Отговор
 Shog9
Shog9
Направете октомври 2008 в 6:19
2008-10-07T18:19:42+00:00
Още
Източник
Редактиране на
#8545559

Използване на

$("a").attr("href", "http://www.google.com/")

ще промени href на всички хипервръзки, така че да сочат към Google. Вероятно обаче искате малко по-прецизен селектор. Например, ако имате комбинация от тагове за източник на връзка (хипервръзка) и тагове за цел на връзката (наричани още "котва"):

<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 започва с https://stackoverflow.com. След това се дефинира функция, която използва прост регулярен израз, за да замени тази част от URL адреса с нова. Обърнете внимание на гъвкавостта, която ви дава това - тук може да се направи всякакъв вид модификация на връзката.

 lucasreta
lucasreta
Редактиран отговор Направете август 2018 в 12:51
1781
0
Do you have a question? Add it on the site and get an answer instantly
en.kzen.dev
Peter Shinners
Peter Shinners
Направете октомври 2008 в 6:20
2008-10-07T18:20:45+00:00
Още
Източник
Редактиране на
#8545560

Използвайте метода attr при търсенето. Можете да смените всеки атрибут с нова стойност.

$("a.mylink").attr("href", "http://cupcream.com");
76
0
Do you have a question? Add it on the site and get an answer instantly
en.kzen.dev
 flamingLogos
flamingLogos
Направете октомври 2008 в 5:58
2008-10-17T17:58:41+00:00
Още
Източник
Редактиране на
#8545561

В зависимост от това дали искате да промените всички идентични връзки на нещо друго или искате да контролирате само връзките в даден раздел на страницата или всяка една поотделно, можете да направите едно от тези действия.

Променете всички връзки към Google, така че да сочат към Google Maps:

<a href="http://www.google.com">

$("a[href='http://www.google.com/']").attr('href', 
'http://maps.google.com/');

За да промените връзките в даден раздел, добавете класа на контейнерния div'към селектора. Този пример ще промени връзката към Google в съдържанието, но не и в долния колонтитул:

<div class="content">
    <p>...link to <a href="http://www.google.com/">Google</a>
    in the content...</p>
</div>

<div class="footer">
    Links: <a href="http://www.google.com/">Google</a>
</div>

$(".content a[href='http://www.google.com/']").attr('href', 
'http://maps.google.com/');

За да промените отделни връзки, независимо от това къде се намират в документа, добавете id към връзката и след това добавете този id към селектора. Този пример ще промени втората връзка на Google в съдържанието, но не и първата или тази в долния колонтитул:

<div class="content">
    <p>...link to <a href="http://www.google.com/">Google</a>
    in the content...</p>
    <p>...second link to <a href="http://www.google.com/" 
        id="changeme">Google</a>
    in the content...</p>
</div>

<div class="footer">
    Links: <a href="http://www.google.com/">Google</a>
</div>

$("a#changeme").attr('href', 
'http://maps.google.com/');
 flamingLogos
flamingLogos
Редактиран отговор Направете октомври 2008 в 3:04
38
0
Добавяне на въпрос
Категории
Всички
Технология
Култура / Отдих
Живот / Изкуства
Наука
Професионален
Бизнес
Потребители
Всички
Нов
Популярни
1
Александр Македонский
Регистриран преди 1 ден
2
Andrei Kalinin
Регистриран преди 2 седмици
3
Koroleva Ego
Регистриран преди 1 месец
4
Star Lenon
Регистриран преди 1 месец
5
Данил Жевнеров
Регистриран преди 1 месец
Do you have a question? Add it on the site and get an answer instantly
en.kzen.dev
BG
DA
DE
EL
ES
FR
ID
IT
JA
KO
NL
NO
PT
RO
RU
TR
ZH
© kzen.dev 2023
Източник
stackoverflow.com
под лиценз cc by-sa 3.0 с авторство