修改href选择器以排除定位标记



目前,这将target="_blank"添加到URL中包含.pdf的所有href中,但也排除了其中包含www.fakewebsiteurl.com。我一直在尝试修改它,以排除锚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');
}
});
});

从正则表达式中删除$。

!href.match(/#/)

术语"锚URL"可以用几种方式解释。

如果您谈论的是以#开头的值,那么您可能想要一个/^#/的正则表达式。

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

如果您谈论的值只是#,那么您可能想要/^#$/的正则表达式

最新更新