为了账号安全,请及时绑定邮箱和手机立即绑定

原生 JS如何实现类似Jquery的siblings功能?

原生 JS如何实现类似Jquery的siblings功能?

有只小跳蛙 2018-10-10 17:18:28
如题:比如我body里面有这么几个链接:    <a href="javascript:;">连接一</a>    <a href="javascript:;">连接二</a>    <a href="javascript:;">连接三</a>    <a href="javascript:;">连接四</a>    <a href="javascript:;">连接五</a>    <a href="javascript:;">连接六</a>    <a href="javascript:;">连接七</a>    <a href="javascript:;">连接八</a>    <a href="javascript:;">连接九</a>var link = document.getElementsByTagName("a");for (var i = 0; i < link.length; i++) {    link[i].addEventListener("click", function() {        this.style.backgroundColor = "#000";    })}现在能实现单击其中一个链接改变它的背景色,但是如何能实现JQ中很容易实现的功能,点击其中一个,其它的样式也同时变了(切换)。
查看完整描述

1 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

<style>

body{

  background:#CCC;

}

a{

  display:inline-block;

  width:100px;

  padding:5px 10px;

  background:#666;

  text-align:center;

  color:#FFF;

  border:solid 3px #333;

  margin:1px;

}

a.active{

  background-color:#FF0;

  border-color:#C00;

  color:#C00;

}

</style>

<div id="parent">

  <a href="javascript:;">连接一</a>

  <a href="javascript:;">连接二</a>

  <a href="javascript:;">连接三</a>

  <a href="javascript:;">连接四</a>

  <a href="javascript:;">连接五</a>

  <a href="javascript:;">连接六</a>

  <a href="javascript:;">连接七</a>

  <a href="javascript:;">连接八</a>

  <a href="javascript:;">连接九</a>

</div>

<script>

document.getElementById("parent").addEventListener("click", function(event){

    if( event.srcElement.tagName.toLowerCase() == "a" ){

        if( this.lastClick != event.target){

            event.target.className = "active";

            if( !!this.lastClick){

                this.lastClick.className = "";

            }

            this.lastClick = event.target;

        } else {

            console.log("重复点击不触发");

        }

    }

});

</script>


查看完整回答
反对 回复 2018-11-29
  • 1 回答
  • 0 关注
  • 826 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信