仅在悬停javascript上更改链接颜色
是否可以更改某个项目,将鼠标悬停在另一个项目上 例如:仅在悬停javascript上更改链接颜色,javascript,html,Javascript,Html,是否可以更改某个项目,将鼠标悬停在另一个项目上 例如: <li> <a href="#">test</a> </li> 如果我将鼠标悬停在li项上,我希望a标记中的文本发生更改,但此代码不起作用 我不能使用css或jquery库 这可以通过一些简单的HTML事件属性和JavaScript来完成 <li> <a href="#" onmouseover="this.style.color='red'" onmouseout="
<li>
<a href="#">test</a>
</li>
如果我将鼠标悬停在li
项上,我希望a
标记中的文本发生更改,但此代码不起作用
我不能使用css或jquery库
这可以通过一些简单的HTML事件属性和JavaScript来完成
<li>
<a href="#" onmouseover="this.style.color='red'" onmouseout="this.style.color='blue'">test</a>
</li>
如果你想用JS来做,下面是答案。但正如前面所说,你不应该这样做:
<li id="list">
<a id="link" href="#">test</a>
</li>
var list = document.getElementById('list');
var link = document.getElementById('link');
var list=document.getElementById('list');
var link=document.getElementById('link');
假设您无法修改CSS或网页的源代码,并且您只需要一个javascript文件,您希望在其中修改网页的某些功能,那么这种方法将起作用: 需要注意的是,必须在
document.getElementsByTagName('li')
中使用索引,该索引返回一个数组。例如,如果始终需要第一个元素,则可以将此索引硬编码为零。否则,您需要在集合上迭代以查找希望更改的集合
最后,在找到所需的列表项后,可以修改firstChildElement
的样式。
var li=document.getElementsByTagName('li')[0];
li.onmouseover=函数(){
li.firstElementChild.style.color=“#F00”//红色
}
li.onmouseout=函数(){
li.firstElementChild.style.color=“#000”//黑色
};代码>
您的代码查找具有ID的元素,而您没有ID。您需要通过标记名选择它们,并在集合上循环。然后你需要找到收藏中的锚
var menu=document.getElementById(“菜单”);
var lis=menu.getElementsByTagName(“li”);
对于(变量i=0;i
-
-
-
var nodesArray=document.getElementById('myID').getElementsByTagName('a');
对于(变量i=0;i
您可能会在这个链接中找到解决方案:-为什么不能使用CSS?另外,我建议使用事件监听器。它们不是id
s,而是元素类型。如果JavaScript不起作用,那么第一个办法就是用谷歌搜索你正在使用的方法,找出它不起作用的原因。CSS更短更快,请阅读:hover
选择器。如果确实需要,可以在节点上切换类。getElementByTagName
不存在。函数名在其中间有<代码> s>代码>。您可以使用.var link=document.getElementsByTagName('a')[0]代码>但这将获得所有锚定标记。而onmouseover
将改变颜色。但它不会变回来。所以你也得把那些部分弄清楚,这很酷。我不知道你能在这样的表格里插入规则。
<li id="list">
<a id="link" href="#">test</a>
</li>
var list = document.getElementById('list');
var link = document.getElementById('link');
var nodesArray = document.getElementById('myID').getElementsByTagName('a');
for (var i = 0; i < nodesArray.length; i++) {
nodesArray[i].style.color = 'red';
}