无法使用jquery修改最后的<li>?</li>

时间:2011-10-16 08:04:03

标签: javascript jquery jquery-ui

我有一些嵌套的<UL><li><ul><li>text</li></ul></li></UL>,我想使用jquery修改最后一个孩子,但是当我写$(“#id li:last-child”)时,它会影响所有嵌套的<li>。这是代码。

<ul id="ddmenu">
<li><a href="#">Home></a>
    <ul>        

          <li><a href="#">QA Managers Dashboard</a></li>    
    </ul> 
 </li>

<li><a href="#">Req Mgmt</a>
    <ul>
        <li><a href="#">Panel Beating</a></li>
        <li><a href="#">Car Inspection</a></li>
    </ul>

</li>
<li><a href="#">Test</a>
    <ul>
        <li><a href="#">Work Place</a></li>
        <li><a href="#">Special Events</a></li>
    </ul>
</li>
<li><a href="#">Project</a>
    <ul>
        <li><a href="#">Enquiry</a></li>        
    </ul>
</li>
   <li><a href="#">More</a></li>

我想修改包含文字“更多”的<li> ...怎么做?有什么帮助吗?

4 个答案:

答案 0 :(得分:4)

使用>只能获得像这样的直接后代

$("#id > li:last-child")

答案 1 :(得分:0)

我知道你有多少物品,你可以尝试$("#id li:nth-child("+nbrItems+")");

希望这有帮助

答案 2 :(得分:0)

尝试使用以下代码,

$("#id > li:last-child") 

符号“&gt;”表示父元素的直接子元素。

答案 3 :(得分:0)

正如出于一般兴趣(并且我接受您的问题已经解决)但以下有效:

$('li:last-child:last').css('color','red');

JS Fiddle demo

我理解为什么它以这种方式工作,但我必须承认,当我第一次编写该选择器时,我期望$('li:last-child:first')能够正常工作。