[英]Changing text color onclick and change back for other items
我在另一个问题/答案中找到了这个并对其进行了修改......但它仍然不起作用。 我是一个js-noob,所以..有人可以帮帮我吗? 这可能很简单......
<script>
document.getElementById('change').onclick = changeColor;
function changeColor() {
document.body.style.color = "red";
return false;
}
</script>
<div id="myid" onclick="changeColor(this); return false;">Hello Here !!</div><br>
<div id="myid2" onclick="changeColor(this); return false;">Hello There !!</div><br>
我的问题是:当我运行它时,两者都应该是黑色。 当我点击第一个,只有一个应该变成红色。 如果之后我点击第二个,第一个应该是黑色再次只有第二个红色......我该怎么做? (jquery也会受到欢迎,如果有解决方案......)
谢谢!
这是你的解决方案 。
这不是最好的,但考虑到你复制代码的错误,你可能想查看Wikiversity关于Beginning JavaScript的页面 ,以及他们面临的挑战 。
此外,您复制的代码中的错误列表,以便您可以再次避免这些问题:
document.body
不返回可以访问.style.color
的有效JavaScript对象。 changeColor()
不接受任何参数,因此不应该使用changeColor(this)
调用它。 onclick
属性。 HTML用于布局,而不是脚本。 最重要的是, 布局应该保留在HTML中,用JavaScript编写脚本,在CSS中使用样式。
谢谢埃德温。 我做了一些谷歌搜索和摆弄我找到的东西,它完全符合我的想法。 很抱歉这个混乱..我选择了div,如果我可以让它工作,那么我会为我的li实现..无论如何,解决方案是:
javascript部分:
function switchColors(element)
{
links=document.getElementsByTagName("li") ;
for (var i = 0 ; i < links.length ; i ++)
links.item(i).style.color = 'black' ;
element.style.color='orange' ;
}
和需要颜色变化的html东西:
<ul>
<li onclick="switchColors(this);">Link 1</li>
<li onclick="switchColors(this);">Link 2</li>
<li onclick="switchColors(this);">Link 3</li>
</ul>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.