关于JS控制A标签样式的问题

<linkhref="css/pagetitlemenu.css"rel="stylesheet"type="text/css"/><ulclass="ttm"id="t... <link href="css/pagetitlemenu.css" rel="stylesheet" type="text/css" />
<ul class="ttm" id="ttm">
<li class="ttm" id="ttm">
<a class="ttm" id="ttm">1</a>
<a class="ttm" id="ttm">1</a>
</li>
</ul>

我怎么写JS控制点击第一个a标签的时候他的背景颜色变为蓝色第二个是灰色,点击第二个a标签的时候第二个变为蓝色第一个变成灰色。我在CSS里面用active来控制只能让点过的都变成蓝色变不回灰色,所以是不是要用js来控制样式。要怎么写
展开
 我来答
644792799
2014-03-26 · TA获得超过662个赞
知道小有建树答主
回答量:696
采纳率:100%
帮助的人:530万
展开全部

<a>标签背景颜色我是通过变换class来实现的,分别在css里面加入了灰色和蓝色背景的class

html代码如下:

<ul class="ttm" id="ttm">
<li class="ttm" id="ttm">
<a  class="ttm1" id="ttm1" onclick="clickttm(this)">1</a>
<a  class="ttm2" id="ttm2" onclick="clickttm(this)">2</a>
<a  class="ttm2" id="ttm3" onclick="clickttm(this)">3</a>
<a  class="ttm2" id="ttm4" onclick="clickttm(this)">4</a>
<a  class="ttm2" id="ttm5" onclick="clickttm(this)">5</a>
</li>
</ul>

CSS代码如下:

body{
background:#eee;
}
ul .ttm {
list-style:none;
}

a {
color:white;
cursor:hand;
}

.ttm1 {
background:blue;
}

.ttm2 {
background:gray;
}

JS代码如下:


function clickttm(ele) {
getElementsByClassName("ttm1")[0].className = "ttm2";
ele.className = "ttm1";
}

function getElementsByClassName(searchClass,node,tag) {
if(document.getElementsByClassName){
return  document.getElementsByClassName(searchClass)
}else{    
node = node || document;
tag = tag || '*';
var returnElements = []
        var els =  (tag === "*" && node.all)? node.all : node.getElementsByTagName(tag);
var i = els.length;
searchClass = searchClass.replace(/\-/g, "\\-");
var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
while(--i >= 0){
if (pattern.test(els[i].className) ) {
returnElements.push(els[i]);
}
}
return returnElements;
    }
}

希望能帮你解决问题

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式