【问题标题】:Modifying href selector to exclude anchor tags修改 href 选择器以排除锚标记
【发布时间】:2018-11-21 17:29:01
【问题描述】:

目前,这会将target="_blank" 添加到 URL 中包含 .pdf 的所有 href 中,但也会排除包含 www.fakewebsiteurl.com 的 URL。我一直在尝试修改它以排除锚 URL,但我做不到。我在这里错过了什么?

document.addEventListener('DOMContentLoaded', function() {
    var links = document.querySelectorAll('a');
    links.forEach(function(link){
        var href = link.getAttribute('href');

        if (href.match(/\.pdf$/)
            || !href.match(/^\/www.fakewebsiteurl.com/)
            || !href.match(/\#$/)) {
                link.setAttribute('target', '_blank');
        }
    });
});

【问题讨论】:

标签: javascript href selector target


【解决方案1】:

从你的正则表达式中删除 $。

!href.match(/\#/)

【讨论】:

    【解决方案2】:

    “锚定 URL”一词可以有几种解释。

    如果您谈论以# 开头的值,您可能需要/^#/ 的正则表达式。

    如果您谈论的值包含#,您可能需要/#/ 的正则表达式

    如果您谈论的值只是 #,您可能需要一个 /^#$/ 的正则表达式

    【讨论】:

    猜你喜欢
    • 2020-03-29
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    • 2015-09-23
    • 2020-10-13
    • 2011-08-11
    相关资源
    最近更新 更多