目前,这将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"可以用几种方式解释。
如果您谈论的是以#
开头的值,那么您可能想要一个/^#/
的正则表达式。
如果您谈论的是包含#
的值,那么您可能想要/#/
的正则表达式
如果您谈论的值只是#
,那么您可能想要/^#$/
的正则表达式