如何做到点击链接后改变背景颜色

ogoss 2013-11-01 04:35:40


如图,我在网页上做了几个链接,怎么样做到当点击之后自动将这条背景颜色改变。如:点击test1,则test1背景改变,若点击test2,则test2背景改变,test1变回白色。

请各位大大帮帮忙看要如何解决,最好有完整点的代码,小弟刚开始做页面,还不太熟悉
...全文
383 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
v_huan 2014-07-04
  • 打赏
  • 举报
回复
非常感谢!!!
ogoss 2013-11-01
  • 打赏
  • 举报
回复
ok了 我把js代码放到最后运行 就能用了 谢谢两位大大帮助 一人40分
notlikeGaoShou 2013-11-01
  • 打赏
  • 举报
回复

<!DOCTYPE HTML>
<html lang="en">
	<head>
		
		<title>测试</title>
		<style type="text/css">
		.aa{
			background-color: #fff;
		}
		.bb{
			background-color: red;
		}
		</style>
	</head>
	<body>
		<ul id="test_ul">
			<li class="aa">
				test1
			</li>
			<li class="aa">
				test2
			</li>
			<li class="aa">
				test3
			</li>
			<li class="aa">
				test4
			</li>
		</ul>
		<script type="text/javascript">
			//该方法主要的思路是通过修改对应节点的样式修改背景颜色
			function change_bg(){
				var items=document.getElementById("test_ul").childNodes;//获取li节点
				for(var i=0;i<items.length;i++){//循环每个li节点
					if(items[i].nodeName=="LI"){//如果子节点是LI标签的话
						items[i].onclick=function(){//绑定click事件
							var all_li=this.parentNode.childNodes;//获取所有li节点
							for(var j=0;j<all_li.length;j++){
								all_li[j].className="aa";//将所有的li节点的背景还原
							}
							this.className="bb";//将当前的li节点的背景设为对应的背景
						}
					}
				}
			}
			change_bg();
		</script>
	</body>
</html>
ogoss 2013-11-01
  • 打赏
  • 举报
回复
谢谢大大帮忙 不过我测试了下 显示如图错误

<ul id="myul" class='sitemu'>
<li ><a href='#' target='main'>test1</a></li>
<li ><a href='#' target='main'>test1</a></li>
<li ><a href='#' target='main'>test2</a></li>
<li ><a href='#' target='main'>test3</a></li>
<li ><a href='#' target='main'>test4</a></li>
<li ><a href='#' target='main'>test5</a></li>
<li ><a href='#' target='main'>test6</a></li>
</ul>


var co = false;
var as = document.getElementById('myul').getElementsByTagName('a');
for (var i = 0; i < as.length; i++) as[i].onclick = function () {
if (co != this) {
if (co) co.className = '';
co = this;
}
co.className = 'click';
return false
}


我只是改了一下<ul>的id 应该没关系吧
  • 打赏
  • 举报
回复
<ul id="ul">
<li><a href="#">test1</a></li>
<li><a href="#">test2</a></li>
<li><a href="#">test3</a></li>
<li><a href="#">test4</a></li>
<li><a href="#">test5</a></li>
</ul>
<style>
a.click{background:#ff0000;color:#ffffff;}
</style>
<script>
    var co = false;
    var as = document.getElementById('ul').getElementsByTagName('a');
    for (var i = 0; i < as.length; i++) as[i].onclick = function () {
        if (co != this) {
            if (co) co.className = '';
            co = this;
        }
        co.className = 'click';
        return false
    }
</script>

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧