2015-09-12 2 views
-1

Мне нужен простой код на чистом JavaScript (НЕ jQuery!), Который добавит определенный конец ко всем внутренним ссылкам на странице (то есть ко всем ссылкам, которые содержат домен сайта в HREF атрибута), что-то вроде:Добавить определенный конец ко всем внутренним ссылкам на странице

var pagelinks = document.getElementsByTagName('a'); 
for(var i in pagelinks) { 
    if(pagelinks.getAttribute('href').indexOf(document.domain) != -1) { 
    pagelinks[i].setAttribute('href',currenthref+'my_end'); 
    } 
} 

!!! Примечание: это не работает скрипт - это только «что-то вроде» что мне нужно

Например внутренние ссылки на странице:

<a href="http//mysite.com/showcase">Showcase</a> 
<a href="http//mysite.com/contacts">Contacts</a> 
... 

Мне нужно

<a href="http//mysite.com/showcase?my_end">Showcase</a> 
<a href="http//mysite.com/contacts?my_end">Contacts</a> 
... 
+1

В чем проблема с вышеуказанным? – Chrillewoodz

+0

Это работает? Это только «что-то вроде». Я не знаю, как получить переменную currenthref и как указать условие «если ссылка содержит домен» – stckvrw

+0

Что не так с вопросом? – stckvrw

ответ

2

Если я понимаю, ваш вопрос правильный, это то, что вы хотите:

var domain = 'www.youtube.com'; 

var pagelinks = document.getElementsByTagName('a'); 

for (var i = 0; i < pagelinks.length; i++) { 

    var current = pagelinks[i].getAttribute('href'); 

    if (current.indexOf(domain) !== -1) { 
    pagelinks[i].setAttribute('href', current + '?my_end'); 
    } 
} 

Обновлено скрипка: https://jsfiddle.net/cm69qmnL/6/

Вы должны указать домен, который вы хотите проверить href атрибуты против, а затем запустить цикл, который проверяет атрибут каждого якоря href, проверяет его против указанного домена и обновил href, если домен существует в current.

+0

@stckvrw Не могли бы вы обновить свой вопрос и объяснить, что именно вы хотите? – Chrillewoodz

+0

Я обновил его скрипку. просто отсутствовал предварительный исходный URL https://jsfiddle.net/cm69qmnL/3/ – wiesion

+0

, но без jQuery и его 'document.ready', не забудьте поместить этот скрипт до'', иначе он будет не работа. – wiesion

Смежные вопросы