Мастер-классы по Javascript Екатеринбург Ростов-на-Дону Москва Узнать больше...
Содержание (скрыть) Содержание (показать)

Поставьте класс ссылкам

Сделайте желтыми ссылки внешние ссылки. Все относительные ссылки и абсолютные с доменом javascript.ru считаются внутренними. Желтый цвет должен обеспечиваться установкой класса external.

<style>
.external { background-color: yellow }
</style>
<ul>
 <li><a href="http://google.com">http://google.com</a></li>
 <li><a href="/tutorial">/tutorial.html</a></li>
 <li><a href="ftp://ftp.com/my.zip">ftp://ftp.com/my.zip</a></li>
 <li><a href="http://nodejs.org">http://nodejs.org</a></li>
 <li><a href="http://javascript.ru/test">http://javascript.ru/test</a></li>
 <li><a href="ftp://javascript.ru/file">ftp://javascript.ru/file</a></li>
</ul>

Результат:

Алгоритм
Решение
Алгоритм

Сначала можно найти ссылки, например, при помощи document.getElementsByTagName('a').

Как вы думаете, для проверки адреса нужно получить использовать свойство href, или атрибут getAttribute('href') ? В чем будет различие?

Раскрыть ответ

Свойство будет содержать полный путь ссылки (во всех браузерах, кроме IE<9), а атрибут — значение, указанное в HTML. В данном случае подойдёт и то и другое.

Правила опередения:

  • Cсылки без протокола :// являются заведомо внутренними.
  • Там, где протокол есть — нужно создать новую строку из того, что идёт после :// (indexOf + slice) и проверить начало на совпадение с javascript.ru.
Решение
Решение

Код решения: tutorial/browser/dom/markLinks.html

#102
Наверх

Реклама

Нашли опечатку?

Нашли опечатку на сайте? Что-то кажется странным?
Выделите соответствующий текст и нажмите Ctrl+Enter!

Последние Комментарии

Помоги другим!

Помоги другим узнать о хорошей статье!