Найти все внешние/внутренние ссылки
Иногда требуется найти на странице все внешние или внутренние ссылки. Это может понадобиться, чтобы сделать для них особое оформление, предупредить пользователя о том, что он переходит на сторонний сайт или скрыть внешнюю ссылку добавленную пользователем до одобрения модератором. Внутренние ссылки имеют следующие признаки: начинаются с того же домена, что и страница или начинаются с "/" или с "./" или с "../" или с "#":
var siteURL = "http://" + top.location.host.toString(); var $internalLinks = $("a[href^='"+siteURL+"'], a[href^='/'], a[href^='./'], a[href^='../'], a[href^='#']");
Внешние ссылки характерны тем, что они начинаются с чужого домена:
var siteURL = "http://" + top.location.host.toString(); var $externalLinks = $("a:not([href^='"+siteURL+"'])");
Используемые селекторы jQuery
- Поиск по началу атрибута ([attribute ^= value])
- Исключение из найденных элементов (:not(selector))