jq点击下拉菜单获取点击之后的数据

JS结构

    **    <script>
        //当有多个点击下拉菜单获得对应的数据信息时,有可能点击其它的页面数据,显示还是这个页面的数据信息。        
        //  声明一个变量,获取URL参数,切割成数组
        let page = location.pathname.split("/")
        // 打印的结果
        console.log(page);//["", "we.html"]
        // 检索指定的location对象,loaction.search指的是获取URL后"?"后面的属性
        if (location.search !== "") {  //判断是否为空
              //切割后返回一个新对象
            let tar = location.search.slice(1);
            console.log(location.search)//?fir
            console.log(tar);//fir
            // 给要显示父元素的子元素加一个fir类名,也可直接给父元素加一个fir类名(加fir类名是为了和url中"?"后的属性匹配)
            $("." + tar).parent(".content").show(); //让显示的内容.content显示出来。
            //找到menu下的a标签的href属性                                    a标签的父元素,添加active样式,同级的兄弟元素,移除active样式。
            //$(".menu a[href='" + page[page.length - 1] + "?" + tar + "']").parent("li").addClass("active").siblings("li").removeClass("active")
             //                    page是一个数组["", "we.html"],所以 page.length=2  等效于["", "we.html"][2-1],下标从0开始,所以值为we.html.
        }//后面也可直接加else
        //当上面条件不成立时,让内容主动显示,相当于默认显示的数据。
         //:visible选取当前可见的元素,长度为0时,
        if ($(".content:visible").length === 0) {
            //给第一个content添加指定的属性。
            $(".content")[0].setAttribute("style", "display:block")
        }
        //给a标签添加点击事件
        $(".menu a").on("click", function (event) {
            //阻止点击a标签时链接被打开。
            event.preventDefault();
                  //获取href的属性,从?切割成数组(href=we.html?fir)         取数tar数组中的第一个值   取page数组中的最后一个值,we.html           
            let tar = $(this).attr("href").split("?"), tarPage = tar[0], currPage = page[page.length - 1]
            if (tarPage !== currPage) {  //判断两个值是否相等
                location.href = $(this).attr("href")   //不等,就跳到那个页面去
            } else {
                //否则添加前进后退功能,并不会刷新页面,导致页面重构。   tar=["","we.html"]
                history.replaceState({}, "", "?" + tar[tar.length - 1])
                console.log(tar);
                //a标签的父元素,添加或移除样式
                // $(this).parent("li").addClass("active").siblings("li").removeClass("active");
                //类名的父元素content显示或隐藏。
                $("." + tar[tar.length - 1]).parent(".content").show().siblings(".content").hide()
            }
        })
    </script>**

HTML结构

  <ul>
                    <li><a href="javascript:;"><span> 首 页</span></a></li>
                    <li><a href="index.html"><span>公司介绍</span><
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值