2012-10-05 27 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'); 
相关问题