2012-10-05 66 views
1

我遇到問題。請參閱我的代碼的一部分:將課程添加到不包含更多ul元素的所有項目

<ul> 
    <li><a href="#">Test 1</a></li> 
    <li><a href="#">Test 2</a> 
    <ul> 
     <li><a href="#">Test 3</a></li> 
     <li><a href="#">Test 4</a></li> 
    </ul> 
    </li> 
    <li><a href="#">Test 5</a></li> 
    <li><a href="#">Test 6</a></li> 
    <li><a href="#">Test 7</a></li> 
    <li><a href="#">Test 8</a> 
    <ul> 
     <li><a href="#">Test 9</a></li> 
     <li><a href="#">Test 10</a></li> 
     <li><a href="#">Test 11</a></li> 
     <li><a href="#">Test 12</a></li> 
    </ul> 
    </li> 
</ul> 

我要類添加到不包括更多的UI元素的所有項目 - 請我想達到的目標:

<ul> 
    <li><a href="#" class="link">Test 1</a></li> 
    <li><a href="#">Test 2</a> 
    <ul> 
     <li><a href="#" class="link">Test 3</a></li> 
     <li><a href="#" class="link">Test 4</a></li> 
    </ul> 
    </li> 
    <li><a href="#" class="link">Test 5</a></li> 
    <li><a href="#" class="link">Test 6</a></li> 
    <li><a href="#" class="link">Test 7</a></li> 
    <li><a href="#">Test 8</a> 
    <ul> 
     <li><a href="#" class="link">Test 9</a></li> 
     <li><a href="#" class="link">Test 10</a></li> 
     <li><a href="#" class="link">Test 11</a></li> 
     <li><a href="#" class="link">Test 12</a></li> 
    </ul> 
    </li> 
</ul> 

我想使用jquery。非常感謝任何線索。

回答

0
$("li").each(function(){ 
    if($(this).children('ul').length == 0) 
     $(this).addClass('link'); 
}); 
1
$('li > a').filter(function() { 
    return !$(this).siblings('ul').length; 
}).addClass('link'); 

編輯

在你的問題,你想嵌套列表只注意到錨有link類爲好,這樣的事情應該工作: -

$('li > a').addClass('link').filter(function() { 
    return $(this).siblings('ul').length; 
}).removeClass('link'); 
相關問題