JQ 遍历元素并给相应元素增加class

应用帝国后台做公共模板时,需要公共导航栏点击后,加载到对应的栏目列表,同时该栏目导航项添加背景class

思路:使用location.href获取到当前页链接,使用split切割获取的链接字符串,使用切割后得到的关键词匹配对应栏目class,遍历该class,同时给该class增加对应样式

重点:1.location.href

2.str.split(‘syb‘)

3.$el.each(function(){})

<div class="menu_scroll">
        <div class="menu_items">
               <div class="item_cell active" data-url="index">
                    <a href="/" data-title="首页">首页</a>
               </div>
               <div class="item_cell yys" data-url="yys">
                    <a href="/yys/" data-title="应用">应用</a>
               </div>
               <div class="item_cell yxs" data-url="yxs">
                     <a href="/yxs/" data-title="游戏">游戏</a>
               </div>
               <div class="item_cell zts" data-url="zts">
                     <a href="/zts/" data-title="专题">专题</a>
               </div>
               <div class="item_cell zxs" data-url="zxs">
                     <a href="/zxs/" data-title="资讯">资讯</a>
                </div>
                <div class="item_cell jcs" data-url="jcs">
                     <a href="/jcs/" data-title="教程">教程</a>
                </div>
                <div class="item_cell hots" data-url="hots">
                     <a href="/hots/" data-title="热门标签">热门</a>
                </div>
        </div>
</div>

<script type="text/javascript">
 $(".item_cell").removeClass(‘active‘);
        const localUrl= location.href;//获取当前页链接
        console.log(localUrl);
                var clsDatArr =localUrl.split("/");//切割链接组成数组
                var clsNam = clsDatArr[3];获取关键字符
                console.log(clsNam);
$(function(){
   $(".item_cell").each(function(){
     if($(this).hasClass(clsNam)){
          $(this).addClass(‘active‘)
     }
   });
});
</script>

注意:需要在function中增加点击首页时候,获取关键字符为空的情况,应该预先判断是否为空,加在遍历li元素之前。暂未测!

原文地址:https://www.cnblogs.com/chig/p/12198048.html

时间: 2024-10-08 09:19:43

JQ 遍历元素并给相应元素增加class的相关文章

Java遍历List并删除某些元素

Java遍历List并删除某些元素 ? 在阿里的Java编程规约中有一条:[强制]不要在foreach循环里进行元素的remove/add操作.remove元素请使用Iterator方式,如果并发操作,需要对Iterator对象加锁. ? 这里不禁要问为什么? ? 首先来试一下,遍历List时删除元素究竟行不行: public class IteratorTest { public static void singleThreadRemove1(){ List<String> list = n

转 :asp教程.net c#数组遍历、排序、删除元素、插入、随机元素 数组遍历

asp教程.net c#数组遍历.排序.删除元素.插入.随机元素数组遍历 short[] sts={0,1,100,200};for(int i=0;i<sts.lenght;i++){  if(sts[i]>50) {  .....  }} 数组随机元素 public  hashtable  noorder(int count)         {             arraylist mylist = new arraylist();             hashtable ha

如何正确遍历删除List中的元素

遍历删除List中的元素有很多种方法,当运用不当的时候就会产生问题.下面主要看看以下几种遍历删除List中元素的形式: 1.通过增强的for循环删除符合条件的多个元素 2.通过增强的for循环删除符合条件的一个元素 3.通过普通的for删除删除符合条件的多个元素 4.通过Iterator进行遍历删除符合条件的多个元素 /** * 使用增强的for循环 * 在循环过程中从List中删除元素以后,继续循环List时会报ConcurrentModificationException */ public

Java 集合(List、Set)遍历、判断、删除元素时的小陷阱

开发中,常有场景:遍历集合,依次判断是否符合条件,如符合条件则删除当前元素. 不知不觉中,有些陷阱,不知你有没有犯. 1. 一.漏网之鱼-for循环递增下标方式遍历集合,并删除元素 如果你用for循环递增下标方式遍历集合,在遍历过程中删除元素,你可能会遗漏了某些元素.说那么说可能也说不清楚,看以下示例: import java.util.ArrayList; import java.util.List; public class ListTest_Unwork { public static v

jQuery遍历和过滤操作所有元素

1 遍历祖先  方法 parent()返回一个直接父元素 parents()返回所有祖先直到根元素<html>  可以添加参数过滤 parentsuntil()不添加参数同上 添加参数 返回与参数之间的父元素不包括参数自身 2 遍历子孙  方法 children() childrens() childrensuntil() contents()没有参数 ,不仅查找子元素,同时获得文本节点,解释节点等类似于childNodes 不过他返回的是jQuery对象 3 水平遍历 siblings()方

C#遍历List并删除某个元素的方法

C#遍历List并删除某个元素的方法,你的第一反应使用什么方法实现呢?foreach? for? 如果是foreach,那么恭喜你,你答错了.如果你想到的是用for,那么你只是离成功进了一步. 正确的做法是用for倒序遍历,根据条件删除.下面我们用代码来演示foreach,for删除list数据的情况: class Program { public class Students { public string Name { get; set; } public int Age { get; se

遍历List过程中删除元素的正确做法(转)

遍历List过程中删除元素的正确做法   public class ListRemoveTest {     3 public static void main(String[] args) { 4         List<Integer> list = new ArrayList<Integer>(); 5         list.add(1); 6         list.add(2); 7         list.add(2); 8         list.add(

javascript 常见数组操作( 1、数组整体元素修改 2、 数组筛选 3、jquery 元素转数组 4、获取两个数组中相同部分或者不同部分 5、数组去重并倒序排序 6、数组排序 7、数组截取slice 8、数组插入、删除splice(需明确位置) 9、数组遍历 10、jQuery根据元素值删除数组元素的方)

主要内容: 1.数组整体元素修改 2. 数组筛选 3.jquery 元素转数组 4.获取两个数组中相同部分或者不同部分 5.数组去重并倒序排序 6.数组排序 7.数组截取slice 8.数组插入.删除splice(需明确位置) 9.数组遍历 10.jQuery根据元素值删除数组元素的方法 数组常见操作包含了 增.删.查.改.插入.交集.并集 1.数组整体元素修改 //map,给数组每个元素加1 输出[1,2,3] $.map([0,1,2],function(n){ return n+1; })

子元素浮动后,父元素高度自动增加

father:after{ content:"."; height:0; visibility:hidden; display:block; clear:both; } 清除"闭合(清除)浮动"的方法,主要是一下四种: 1.    额外标签法 这种方法就是向父容器的末尾再插入一个额外的标签,并令其清除浮动(clear)以撑大父容器.这种方法浏览器兼容性好,没有什么问题,缺点就是需要额外的(而且通常是无语义的)标签.我个人不喜欢这种方法,但是它确实是W3C推荐的方法

js和jquery获取父级元素、子级元素、兄弟元素的方法(转)

先说一下JS的获取方法,其要比JQUERY的方法麻烦很多,后面以JQUERY的方法作对比 JS的方法会比JQUERY麻烦很多,主要则是因为FF浏览器,FF浏览器会把你的换行也当最DOM元素 原生的JS获取ID为test的元素下的子元素.可以用: 比如: <div id="dom"> <div></div> <div></div> <div></div> </div> var a = docu