Сделайте желтыми ссылки внешние ссылки. Все относительные ссылки и абсолютные с доменом 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') ? В чем будет различие?
Правила опередения:
- Cсылки без протокола
://являются заведомо внутренними. - Там, где протокол есть — нужно создать новую строку из того, что идёт после
://(indexOf + slice) и проверить начало на совпадение сjavascript.ru.
Решение
Решение
Код решения: tutorial/browser/dom/markLinks.html
#102