各位大神,帮忙解决下这个问题:如何用jq向某个li元素的父级li元素增加class??

各位大神,帮忙解决下这个问题:如何用jq向某个li元素的父级li元素增加class??,第1张

$('li').parent('li').addClass('class')// 选择li元素并找到它的父级(只是父级)li,添加class;

如果不是直接父级:可以一直往上遍历,找到所有它的父级是li的元素可以使用:$('li').parents('li').addClass('class')

<!DOCTYPE html>

<html>

 <head>

  <title>测试页面2</title>

  <meta charset="UTF-8"/>

  <style>

   .tdiv{

    border:2px solid

   }

  </style>

  <script>

   function test(ele){

    var pDiv=ele.parentNode

    if(pDiv.className==" "){

     pDiv.className="tdiv"

    }else{

     pDiv.className=" "

    }

   }

   //还可以用classList,这种方法更流畅

   function test2(ele){

        var pDiv=ele.parentNode

        if(pDiv.classList.contains("tdiv")){

             pDiv.classList.remove("tdiv")

        }else{

             pDiv.classList.add("tdiv")

        }

       }

  </script>

 </head>

 <body>

  <div>

   <a onclick="test(this)">测试</a>

  </div>

 </body>

</html>

你应该是想实现风琴菜单或者类似效果的吧?推荐使用jquery(轻量级的js封装组件)很方便的实现了风琴菜单。一定要用js的话代码太长了我给你点思路。首先为元素绑定onclick事件,一级li和二级li区别对待。你没说清楚哪里不明白,我就猜一下你是不知道如何选中二级节点的父节点。选中当前节点的父节点的方法是this.parentNode就是当前节点的父节点了。你可以if this.onclick 那么this.parentNode.class就改为什么什么。你试试


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11709473.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存