javascript - 怎么用jquery檢查li的下級(jí)li是否存在class="active"?
問題描述
<ul class='nav sidebar-menu'> <li ><a href='http://m.4tl426be.cn/admin/index'> <i class='menu-icon glyphicon glyphicon-home'></i> <span class='menu-text'> 后臺(tái)首頁(yè) </span></a> </li> <li><a href='http://m.4tl426be.cn/wenda/5191.html#' class='menu-dropdown'> <i class='menu-icon fa fa-inbox'></i> <span class='menu-text'> 產(chǎn)品 </span> <i class='menu-expand'></i></a><ul class='submenu'> <li ><a href='http://m.4tl426be.cn/admin/product/lst'> <span class='menu-text'>產(chǎn)品列表</span></a> </li> <li ><a href='http://m.4tl426be.cn/admin/size/lst'> <span class='menu-text'>碼數(shù)管理</span></a> </li> <li ><a href='http://m.4tl426be.cn/admin/cate/lst'> <span class='menu-text'>產(chǎn)品分類</span></a> </li></ul> </li> <li> //這個(gè)li下面的li里面存在active這個(gè)class,給這個(gè)li增加 <a href='http://m.4tl426be.cn/wenda/5191.html#' class='menu-dropdown'> <i class='menu-icon fa fa-user'></i> <span class='menu-text'> 管理員 </span> <i class='menu-expand'></i></a><ul class='submenu'> <li ><a href='http://m.4tl426be.cn/admin/user/lst'> <span class='menu-text'>管理員列表</span></a> </li> <li class='active'> //這個(gè)li里面包含了active這個(gè)class,我想給上級(jí)li增加一個(gè)class='open',應(yīng)該怎么寫才對(duì)?<a href='http://m.4tl426be.cn/admin/authrule/lst'> <span class='menu-text'>權(quán)限列表</span></a> </li> <li ><a href='http://m.4tl426be.cn/admin/authgroup/lst'> <span class='menu-text'>用戶組</span></a> </li> </ul> </li> <li><a href='http://m.4tl426be.cn/wenda/5191.html#' class='menu-dropdown'> <i class='menu-icon fa fa-gear'></i> <span class='menu-text'> 系統(tǒng)設(shè)置 </span> <i class='menu-expand'></i></a><ul class='submenu'> <li ><a href='http://m.4tl426be.cn/admin/conf/lst'> <span class='menu-text'>配置列表</span></a> </li> <li ><a href='http://m.4tl426be.cn/admin/conf/conf'> <span class='menu-text'>配置項(xiàng)</span></a> </li> </ul> </li></ul>
不知道怎么表述,所以把問題寫在了上面的代碼里,麻煩各位大大
問題解答
回答1:如果層級(jí)不深,可以使用 parents 來獲取獲取,如:
var $menu = $(’.sidebar-menu’);var $itemActive = $menu.find(’.active’); // 選中項(xiàng)var $itemActiveParent = $itemActive.parents(’li:first’); // 父級(jí)$itemActiveParent.addClass(’open’);回答2:
想做什么操作。。給你一些代碼
$('.nav>li').each(function(index){$(this).find('.submenu>li').each(function(index1){ if($(this).hasClass('active')){console.log(index,index1); }}) })回答3:
如果你只是單純的檢查,可以
var $li = targetLi; // 你想判斷的某個(gè) liif ($li.find('>ul>li.active').length) { // li 的直接下級(jí)是 ul,所以它最近的一個(gè)下級(jí) li 是 `>ul>li` // todo 這里是找到有 .active 的 li}
如果你只是想找到某個(gè)選中的 li 的所有父級(jí)
$('li.active').parents();
如果是父級(jí)中的 li
$('li.active').parents('li');
如果 active 不止一個(gè),可以先通過 filter 或者加一個(gè)條件找到你需要的那一個(gè)。
相關(guān)文章:
1. mysql - 把一個(gè)表中的數(shù)據(jù)count更新到另一個(gè)表里?2. mysql 查詢身份證號(hào)字段值有效的數(shù)據(jù)3. node.js - 為什么微信的消息MsgId出現(xiàn)重復(fù)了,無法排重了。。4. mysql的主從復(fù)制、讀寫分離,關(guān)于從的問題5. MySQL 截短某一列的字符串6. 請(qǐng)教使用PDO連接MSSQL數(shù)據(jù)庫(kù)插入是亂碼問題?7. mysql - 分庫(kù)分表、分區(qū)、讀寫分離 這些都是用在什么場(chǎng)景下 ,會(huì)帶來哪些效率或者其他方面的好處8. mysql - 字符串根據(jù)字典替換9. 視頻文件不能播放,怎么辦?10. node.js - nodejs開發(fā)中常用的連接mysql的庫(kù)
