2013-08-04 59 views
0

我有下面的代碼剪斷。它旨在將「圖標」添加到具有子列表元素的列表元素。但是,addClass破壞了樣式。即使我的「.icon遺」類是空的,當我加入這個班,我的列表項的結構風格了:JQuery的addClass自毀風格

if ($('.brien-sliding-menu ul li').find('ul li').length > 0) { 

    $('.brien-sliding-menu > ul > li').addClass('icon-left'); 

} 

以下是HTML:

<nav class="brien-sliding-menu"> 
    <h3>Menu</h3> 
    <ul> 
     <li><a href="#">Home</a></li> 
     <li><a href="#">About Us</a> 
      <ul> 
       <li><a href="#">Services</a> 
        <ul> 
         <li><a href="#">Our Team</a></li> 
         <li><a href="#">Our Team</a></li> 
         <li><a href="#">Our Team</a></li> 
        </ul> 
       </li> 
       <li><a href="#">Our Team</a></li> 
       <li><a href="#">FAQ</a></li> 
      </ul> 

     </li> 
     <li><a href="#">Products</a> 
      <ul> 
       <li><a href="#">Events</a></li> 
       <li><a href="#">Maps</a></li> 
       <li><a href="#">Discovery</a></li> 
      </ul> 
     </li> 
    </ul> 
</nav> 

而且css類我要添加:

.icon-left{ 
    font-size:30px; 
    background:url(../img/icon-left.png) no-repeat; 
} 
+1

顯示標記和樣式,如果轉化爲[fiddle](http://jsfiddle.net/),則更好。 – moonwave99

回答

0

你爲什麼不嘗試:Working Fiddle

$(".brien-sliding-menu ul li:has(li)").find("li").addClass("icon-left"); 
+0

不幸的是它不起作用。 我認爲$(this)是指'.brien-sliding-menu ul li ul li'。 但我想添加到'.brien-sliding-menu ul li'。 parent()也沒有工作,如果語句正確。 – brien

+0

嘗試更新的代碼是否工作? – Aditya

+0

感謝Aditya,但仍然無法正常工作:( 但問題是,你的代碼沒有破壞的樣式,但它無法添加CSS樣式(請參閱我的更新的代碼) – brien