javascript遍历class同级元素

//核心片段

$(".className").click(function(){

     var n = $(this).index('.className');

     var m = document.getElementsByClassName("className1");

     mdisplay = $(".className1").eq(n).css('display');

     if(mdisplay == "block") {

     m[n].style.display = "none";

     $(".className2").eq(n).attr("src","images/demo.png");

     }else {

     m[n].style.display = "block";

     $(".className2").eq(n).attr("src","images/demo.png");

 }

  });


    

为了减少样式表的冗余,通常我们会给元素赋class值以取得它所对应的公共样式。这样的弊端在于,在forEach遍历状态下,当我们想要实现一个元素的点击事件或者想要同级class对应地响应点击事件时,就会比较棘手。

因此,我们通过$(this).index('.className')来获取当前获得点击事件的元素索引,接下来的操作就会很顺理成章了。我们通过m[n]就可以操作任何一个DOM节点。

注:在表述上的区别,原生jquery下要用$(".className1").eq(n).css('display')来定位到索引,m[n].style.display不能实现。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值