2013-06-19 71 views
2

我的HTML是這個發現UL,如果它的父元素是李

<div class="nav-collapse collapse"> 
    <ul class="nav"> 
    <li class="dropdown"> 
     <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a> 
     <ul class="dropdown-menu"> 
     <li><a href="#">Action</a></li> 
     <li><a href="#">Another action</a></li> 
     <li><a href="#">Something else here</a></li> 
     <li class="divider"></li> 
     <li class="nav-header">Nav header</li> 
     <li><a href="#">Separated link</a></li> 
     <li><a href="#">One more separated link</a></li> 
     </ul> 
    </li> 
    </ul> 
</div> 

所以我想所有類添加到通過Jquery.I元素想通過Jquery.I'm做補充數據切換屬性它像波紋管,但它不是100%correct.I想找到ul如果我的父元素是li並添加類的ul和父元素

JQUERY

$(".nav-collapse").find("ul").first().addClass("nav"); 
$(".nav-collapse").find("li").hast("ul").addClass("nav"); 
$(".nav").find("li a").attr("data-toggle", "dropdown").append("<b class='caret'></b>"); 
$(".nav").find("li ul").addClass("dropdown-menu"); 
$(".nav").find("li ul li").addClass("dropdown-submenu"); 
$('.dropdown-toggle').dropdown(); 

回答

3

獲取所有UL當時只過濾其母公司是li

$('ul').filter(function(){ 
    return $(this).parent().is('li') 
}).addClass('dropdown-menu') 

在評論第二種情況下

下拉類添加到裏,如果它有UL元素作爲孩子的那些項目

$('li:has(ul)').addClass('dropdown') 
+0

使用ul.dropdown菜單,我們無法選擇,因爲這些元素來沒有任何類。 –

+1

@loading ...所以只是刪除選擇器中的類 –

+0

我想添加下拉類到李,如果它具有ul元素作爲孩子的.and我想添加下拉菜單類到ul,如果它有li元素作爲父母 –

0

試試這個,

if($('li>ul:first')){ 
     $('li>ul:first').addClass('dropDown-menu'); 
     $('.dropDown-menu').parent().addClass('dropDown'); 
    } 

我已經使用了:首先,作爲一種預防措施,以避免在li標籤中存在另一個UL時應用該類。

2

我想UL發現,如果我的父元素是李

$("li > ul")