怎样实现导航栏单击切换,单击第一个添加了一个class,但是怎么在单击第二个时,移除第一个的class

    window.onload = function(){

        var li=document.getElementsByTagName("li");

        for(var i=0;i<li.length;i++){

            li[i].onclick = function(){

                this.className="active";

            }

            li[i].className="";

        }

    }


笑出强大_0
浏览 2033回答 2
2回答

千秋此意

// 你这代码改改就行, 套两个循环直接取消所有的classwindow.onload = function() {    var li = document.getElementsByTagName("li");    for (var i = 0; i < li.length; i++) {        li[i].onclick = function() {            for (var i = 0; i < li.length; i++) {                li[i].className = "";            }            this.className = "active";        }    }}// 或者把前一个li保存起来window.onload = function() {    var li = document.getElementsByTagName("li");    var preNode = null;    for (var i = 0; i < li.length; i++) {        li[i].onclick = function() {            if (preNode !== null) {                preNode.className = '';            }            preNode = this;            this.className = "active";        }    }}

前端小蜗牛_

原生js:定义一个函数,把this对象作为参数,遍历li,进行对比,不满足条件就去掉。jquery:..不谈,你这是原生js。。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript