如何仅使用JavaScript而不是CSS或HTML更改链接颜色

如何仅使用JavaScript而不是CSS或HTML更改链接颜色,javascript,Javascript,我想把书的链接改成红色。在不添加id或类的情况下,如何通过JavaScript更改它?我试过使用分区,但不起作用。谢谢 var sections=document.getElementsByClassName('section'); sections.getElementsByTagName(“a”)[2].style.color=“red”; sections.getElementsByTagName(“li”)[2].style.color=“red” 有

我想把书的链接改成红色。在不添加id或类的情况下,如何通过JavaScript更改它?我试过使用分区,但不起作用。谢谢

var sections=document.getElementsByClassName('section');
sections.getElementsByTagName(“a”)[2].style.color=“red”;
sections.getElementsByTagName(“li”)[2].style.color=“red”


有更好的方法可以做到这一点。。通过css及其
:nth-child()
伪选择器。但使用您的代码只需执行以下操作:

var sections = document.getElementsByTagName('section');
sections[sections.length-1].getElementsByTagName("li")[2].getElementsByTagName("a")[0].style.color="red"; 
仅使用CSS,只需将此规则集添加到样式表中

.Search-view li:nth-child(3) a {
   color: red;
}

但是ID和类是你的朋友。使用它们。

有更好的方法。。通过css及其
:nth-child()
伪选择器。但使用您的代码只需执行以下操作:

var sections = document.getElementsByTagName('section');
sections[sections.length-1].getElementsByTagName("li")[2].getElementsByTagName("a")[0].style.color="red"; 
仅使用CSS,只需将此规则集添加到样式表中

.Search-view li:nth-child(3) a {
   color: red;
}

但是ID和类是你的朋友。使用它们。

我猜您将
节定义为
,然后尝试用
标记覆盖它。因为它说错误在第二行,所以我猜覆盖失败了。尝试删除类并使用
部分
变量

上的
标记
,我猜您将
部分
定义为
,然后尝试用
标记
覆盖它。因为它说错误在第二行,所以我猜覆盖失败了。尝试删除该类并使用
部分
变量

问题上的
标记
使用了
.getElementsByCassName('section')
,尽管没有带有class
.section
的标记。它什么也得不到

解决方案
//获取所有a标记
const allA=document.queryselectoral('a');
allA.forEach(a=>{
//如果标记中的文本为“book”
如果(/^book$/i.test(a.textContent)){
//把颜色改成红色
a、 style.color='red';
}
})

问题 使用了
.getElementsByCassName('section')
,尽管没有带有class
.section
的标记。它什么也得不到

解决方案
//获取所有a标记
const allA=document.queryselectoral('a');
allA.forEach(a=>{
//如果标记中的文本为“book”
如果(/^book$/i.test(a.textContent)){
//把颜色改成红色
a、 style.color='red';
}
})


sections
是一个HTML集合,它有一个很好的方法来注入CSS——您只需使用CSS第n个子项:
section将相应的选择器作为目标
section
是一个HTML集合,它有一个很好的注入CSS的方法——您可以简单地使用CSS第n个子项:
section将相应的选择器作为目标