Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.09.2017, 07:49
Профессор
Отправить личное сообщение для Stas1985 Посмотреть профиль Найти все сообщения от Stas1985
 
Регистрация: 05.03.2012
Сообщений: 159

Подскажите как добавить атрибут rel="nofollow" к ссылке
Здравствуйте,
Подскажите как по средством js добавить к ссылки rel="nofollow.
Возможно ли перехватить ссылку и добавить к ней атрибут
Сейчас ссылка такого вида <a href="/kontakty.html">Контакты </a>
необходима такая <a href="/kontakty.html" rel="nofollow">Контакты </a>
Что то вроде этого
<script>
(function() {
    
    var script,
        scripts = document.getElementsByTagName('script')[0];
        
    function load(url) {
      script = document.createElement('script');
      script.async = true;
      script.src = url;
      scripts.parentNode.insertBefore(script, scripts);
    }
    load('/media/js/watch.js');
    load('/media/js/top100.js');
    load('/media/js/code.js');
}());

</script>

но для ссылок

Последний раз редактировалось Stas1985, 04.09.2017 в 07:54.
Ответить с цитированием
  #2 (permalink)  
Старый 04.09.2017, 08:02
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Stas1985,
<a href="/kontakty.html">Контакты </a>
<script>
      [].forEach.call(document.querySelectorAll('a'), function(a) {
        a.setAttribute('rel', 'nofollow')
      })
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 04.09.2017, 08:07
Профессор
Отправить личное сообщение для Stas1985 Посмотреть профиль Найти все сообщения от Stas1985
 
Регистрация: 05.03.2012
Сообщений: 159

Так тут и проблема.
В меню куча других ссылок а мне необходимо только для kontakty.html
Ответить с цитированием
  #4 (permalink)  
Старый 04.09.2017, 08:23
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<a href="/fafa.html">Контакты </a>
<a href="/kontakty.html">Контакты </a>
<a href="/blabla.html">Контакты </a>
<a href="/haha.html">Контакты </a>
<script>
[].forEach.call(document.querySelectorAll('a[href$="kontakty.html"]'), function(a) {
	a.setAttribute('rel', 'nofollow')
})
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 05.09.2017, 13:40
Профессор
Отправить личное сообщение для Stas1985 Посмотреть профиль Найти все сообщения от Stas1985
 
Регистрация: 05.03.2012
Сообщений: 159

Подскажите, если я хочу подключить несколько ссылок
<script>
[].forEach.call(document.querySelectorAll('a[href$="kontakty.html"]', 'a[href$="o-kompanii.html"]', 'a[href$="vakansii.html"]'), function(a) {
a.setAttribute('rel', 'nofollow')
})
</script>

правильный вариант я делаю
Ответить с цитированием
  #6 (permalink)  
Старый 05.09.2017, 13:54
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

[].forEach.call(document.querySelectorAll('a[href$="kontakty.html"], a[href$="o-kompanii.html"], a[href$="vakansii.html"]'), function(a) {
a.setAttribute('rel', 'nofollow')
});
Ответить с цитированием
  #7 (permalink)  
Старый 05.09.2017, 14:07
Профессор
Отправить личное сообщение для Stas1985 Посмотреть профиль Найти все сообщения от Stas1985
 
Регистрация: 05.03.2012
Сообщений: 159

Если использую ваш вариант
<script>
[].forEach.call(document.querySelectorAll('a[href$="kontakty.html"], a[href$="o-kompanii.html"], a[href$="vakansii.html"]'), function(a) {
a.setAttribute('rel', 'nofollow')
});
</script>

Получаю в еонсоли
JQMIGRATE: Migrate is installed, version 1.4.1
Метод getAttributeNode() является устаревшим. Для его замены используйте метод getAttribute().
Пустая строка не может быть аргументом метода getElementById().
Пустая строка не может быть аргументом метода getElementById().

Если использую свой
<script>
[].forEach.call(document.querySelectorAll('a[href$="kontakty.html"]'),function(a)
{a.setAttribute('rel','nofollow')});

[].forEach.call(document.querySelectorAll('a[href$="o-kompanii.html"]'),function(a)
{a.setAttribute('rel','nofollow')});

[].forEach.call(document.querySelectorAll('a[href$="vakansii.html"]'),function(a)
{a.setAttribute('rel','nofollow')});
</script>

то получаю
JQMIGRATE: Migrate is installed, version 1.4.1
Метод getAttributeNode() является устаревшим. Для его замены используйте метод getAttribute().
Подскажите что это за ошибки
Ответить с цитированием
  #8 (permalink)  
Старый 05.09.2017, 14:13
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Это вообще из другой оперы, во всяком случае обновите библиотеки ваши, и все скрипты что отвалятся с ними обновите тоже.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добавить атрибут HTML5 infated Элементы интерфейса 2 07.07.2014 10:57
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как добавить атрибут к ссылке hell100 Общие вопросы Javascript 2 20.06.2012 16:51
Не правильно работает прокрутка, подскажите как сделать правильно? denfer12 Общие вопросы Javascript 0 09.05.2012 00:34
Как добавить свой блог в раздел feeds этого сайта IzumeRoot Ваши сайты и скрипты 13 30.10.2008 21:11