Javascript 更改所有链接的颜色
我想更改我的中所有链接的颜色,但它不会为我更改颜色。我是javascript的完全初学者,我正在做一些练习 我的: 我在javascript中做错了什么Javascript 更改所有链接的颜色,javascript,Javascript,我想更改我的中所有链接的颜色,但它不会为我更改颜色。我是javascript的完全初学者,我正在做一些练习 我的: 我在javascript中做错了什么 var x=document.getElementByClass("menu"); if(x){ var e =x.getElementsByTagName("a"); for(var i=0; i<e.length; i++){
var x=document.getElementByClass("menu");
if(x){
var e =x.getElementsByTagName("a");
for(var i=0; i<e.length; i++){
e[i].style.color='yellow';
}
}
您正在寻找的函数是:GetElementsByCassName
需要调用的函数是GetElementsByCassName。它返回一个NodeList,因此您必须迭代结果
var menus = document.getElementsByClassName("menu");
for (var j = 0; j < menus.length; j++) {
var e = menus[j].getElementsByTagName("a");
for(var i=0; i<e.length; i++){
e[i].style.color='yellow';
}
}
我建议您查看一些开发人员工具,例如firebug,它们可用于您正在使用的任何浏览器。其中许多都有一个控制台,允许您在当前查看的页面上运行javascript 如果您试图在firebug控制台中运行代码,这正是我最熟悉的一个,它会给您一个错误,告诉您getElementByClass不是一个函数 如果没有其他问题,那么这样做至少可以帮助您了解javascript块在哪里出错 但是是的,您的问题是您正在寻找函数getElementsByCassName,而不是getElementsByCass 另外,我假设你想在你的锚定标签中添加Hello:
<ul class="menu">
<li><a href="">Hello</a></li>
<li><a href="">hello</a></li>
<li><a href="">hello</a></li>
<li><a href="">hello</a></li>
没有函数getElementByClass。这是GetElementsByCassName。文本在链接之外,所以您要更改什么颜色?@Barmar仍然不起作用。@Malkasem很抱歉输入了此代码。你为什么要用JS而不是改变CSS呢?这个功能只有在现代浏览器中才受支持。如果您运行的是较旧的浏览器,此功能将不起作用。顺便说一句,它是元素而不是元素。。GetElementsByclassName这就是我要找的。谢天谢地,我不知道。既然可以而且通常有多个元素具有相同的类名,那么它还能工作吗?是的,这就是我认为它不工作的原因,因为有多个元素。但我不知道该怎么办,也不确定这就是问题所在。
var menus = document.getElementsByClassName("menu");
for (var j = 0; j < menus.length; j++) {
var e = menus[j].getElementsByTagName("a");
for(var i=0; i<e.length; i++){
e[i].style.color='yellow';
}
}
<ul class="menu">
<li><a href="">Hello</a></li>
<li><a href="">hello</a></li>
<li><a href="">hello</a></li>
<li><a href="">hello</a></li>