Javascript 是否可以一次更改网站上的所有锚定标签属性?

Javascript 是否可以一次更改网站上的所有锚定标签属性?,javascript,html,css,frontend,Javascript,Html,Css,Frontend,我最近了解到target=“\u blank”易受攻击,我们必须使用rel=“noopener”。我正在做一个网站项目,所有的锚标签都使用目标属性 只需使用以下命令,即可立即更改这些锚文本的颜色: a {color: blue;} 在网站的头条 但是如果我试着去做 a { rel="noopener" target ="_blank" } 上述代码不具有任何效力。因为rel和target未包含在CSS中 那么,如何为整个站点设置这些属性呢 此外,我尝试在w3schools上搜索,但他们在CS

我最近了解到
target=“\u blank”
易受攻击,我们必须使用
rel=“noopener”
。我正在做一个网站项目,所有的锚标签都使用目标属性

只需使用以下命令,即可立即更改这些
锚文本的颜色

a {color: blue;}
在网站的头条

但是如果我试着去做

a {
rel="noopener"
target ="_blank"
}
上述代码不具有任何效力。因为rel和
target
未包含在
CSS

那么,如何为整个站点设置这些
属性呢


此外,我尝试在w3schools上搜索,但他们在CSS中没有任何答案。

您将需要JS

document.querySelectorAll("a").forEach(a => {
   a.setAttribute("rel", "noopener");
   a.setAttribute("target", "_blank");
});

使用Vanilla JS查找元素。循环,然后更改属性

document.querySelectorAll('a[target="_blank"]').forEach(function(el){
    el.setAttribute('rel', 'noopener');
});
然后应用CSS

a[target ="_blank"][rel="noopener"] {
    color: blue;
}

这看起来是正确的,但对我不起作用。我不知道为什么,我已经把它作为JS添加到了网站的头部。