JS点击添加class,再次点击移除class,并且自身也添加class

现在有个问题请教下大家,就是我想让一个a标签触发一个事件,让另外一个div添加一个class号,然后再次点击这个a标签的时候移除class号。(主要是为了实现一个展开效果... 现在有个问题请教下大家,就是我想让一个a标签触发一个事件,让另外一个div添加一个class号,然后再次点击这个a标签的时候移除class号。(主要是为了实现一个展开效果:我是通过class号来控制该div的宽高。)如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<div class="cont3">  点击更多,给我再添加一个class="Large"。并且更多的那个A标签里面图片class号也添加一个:class="more",再次点击更多a标签,两个class号都移除!</div>
<a class="tb_bottom" href="#">更多</a>
</body>
</html>
展开
 我来答
刺友互
高粉答主

2019-09-27 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:64.4万
展开全部

1、首先在html中布局好两个按钮和一个div。

2、接着编写添加class的方法。

3、运行页面以后看到如下图所示的界面。

4、点击添加class按钮就可以看到div中多了样式。

5、接下来在编写移除class样式,如下图所示要的是remove。

6、最后运行界面,点击移除class按钮,class就被移除了。

xiii130
推荐于2017-09-24 · 知道合伙人软件行家
xiii130
知道合伙人软件行家
采纳数:817 获赞数:2867
爱好编程,在工作中积累了比较丰富的经验。愿与大家共同进步。

向TA提问 私信TA
展开全部
<div class="cont3" id="t"></div>
<a class="tb_bottom" href="#" onClick="doAct(this);">更多</a>
<script>
function doAct(s){
    var t = document.getElementById('t'),
    c = s.className;
    //有more属性
    if(c != null && c.indexOf('more') > -1){
        s.className = c.replace('more', '');
        t.className = t.className.replace('Large', '');
    }else{
        s.className = c + ' more';
        t.className = t.className + ' Large';
    }
}
</script>
更多追问追答
追问
very nice ,很赞!!!但是有个小问题,如果我一直点击更多,里面原有class号跟新加的class号之间就会越来越多空格。。。。。这个虽然不影响样式实现,但是代码还是不太美观,能够做到无限次数点击,都是相隔一个空格不。
追答

噗,是我的问题,小改一下

function doAct(s){
    var t = document.getElementById('t'),
    c = s.className;
    //查找 空格more 而非more
    if(c != null && c.indexOf(' more') > -1){
        //连空格一起替换
        s.className = c.replace(' more', '');
        t.className = t.className.replace(' Large', '');
    }else{
        s.className = c + ' more';
        t.className = t.className + ' Large';
    }
}

这样就没有空格了

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhushuai580
2014-04-16 · 超过12用户采纳过TA的回答
知道答主
回答量:30
采纳率:0%
帮助的人:21.4万
展开全部
<script src="http://code.jquery.com/jquery-latest.js"></script>

<script>
$(".tb_bottom").click(function(){
if($(".tb_bottom").attr("id")!=1){
$(".cont3").attr("class","cont3 Large");
$(".tb_bottom").attr("class","tb_bottom more");
$(".tb_bottom").attr("id",1);
alert("attr");
}
else{
$(".cont3").removeClass("Large");
$(".tb_bottom").removeClass("more");
$(".tb_bottom").attr("id",0);
alert("css");
}
});
</script>
希望能帮到你!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1500363683
2014-04-16 · 超过12用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:17.2万
展开全部
用jquery很简单,试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式