首页 > 解决方案 > 被视为外部 URL 的子域

问题描述

我需要为external所有外部超链接 URL 添加一个类。为了实现这一点,我编写了 javascript

Array.from(document.querySelectorAll('a')).forEach(a => {
    a.classList.add(location.hostname === a.hostname || !a.hostname.length ? 'internal' : 'external');
});

问题是子域也被视为外部域,并且相应的<a>标签正在external添加类。如何从external添加类中排除子域和其他 2 个域(abc.com 和 xyz.com)的超链接?

标签: javascriptjquery

解决方案


而不是location.hostname === a.hostname我会尝试location.hostname.idexOf(a.hostname) >= 0


推荐阅读