2010-03-09 7 views
0

У меня есть вложенное oredered списка, который IM анимировать с помощью этого кода ...не в состоянии удалить вложенные списки в переменной JQuery

   var $li = $("ol#update li"); 
       function animate_li(){ 
        $li.filter(':first') 
         .animate({ 
         height: 'show', 
         opacity: 'show' 
         }, 500, function(){ 
         animate_li(); 
         }); 
        $li = $li.not(':first'); 
       } 
       animate_li(); 

теперь я хочу не, чтобы показать или анимировать вложенные списки (ол s) или литий s в МНК

взглянуть на пример here

структура моих МНК являются

<ol> 
<li class="bar248"> 
     <div class="nli"> 
     <div class="pic"> 
      <img src="dir/anonymous-thumb.png"alt="image" /> 
     </div> 
     <div align="left" class="text"> 
     <span> 
       <span class="delete_button"><a href="#" id="test" class="delete_update">R</a></span> 

       test shouted <span class="timestamp"> 2010/02/24 18:34:26 </span> <br /> 
     this 
     </span> 
     </div> 

     <div class="clear"></div> 
     </div> 
     <div class="padd"> 

     </div> 
     <ol class="comment"> 
      <li>      
        <div>Testing </div> 
      </li> 
      <li> 
        <div>Another Test </div> 
      </li> 

     </ol> 

    </li> 

    </ol> 

я м в состоянии скрыть вложенные олы, используя этот код ...

 $("ol#update li ol").hide(); 

Но все время потребляется в анимировать их, хотя они скрыты

я м не в состоянии удалить вложенную Li с, используя этот код

var $li = $("ol#update li").not("ol#update li ol"); 
$li = $li.not("ol#update li ol"); 

Взгляните на эту here

Любая помощь

благодаря
Pradyut

ответ

1

Вы пробовали настройки исходный список, как это:

var $li = $("ol#update > li"); 

Это будет получить только <li> элементы, которые являются прямыми потомками <ol id="update"> списка.

Если вы уже получили $li установить без «>», то вы можете удалить «вложенные» <li> элементы из этого списка, используя «фильтр»:

var $li = $('ol#update li'); // gets all <li> elements, even the nested ones 

// ... 

var $notNested = $li.filter('ol#update > li'); 
// or, if you prefer, 
var $notNested = $li.filter(':not(ol#update li ol li)'); 
+0

также другой вопрос .... Я могу получить 1-й элемент, используя это ... $ li = $ ("ol # update li: eq (0)"); Как получить первые n элементов (только lis) с помощью некоторого кода ... спасибо –

+0

Я могу получить первые n элементов, используя это ... $ ("ol # update li: lt (n)"); Как получить элементы между 5 и 10. ответьте ... –

+0

Я использую $ li = $ li.filter (': lt (5)'). Filter (': gt (2)'); , чтобы получить lis между 5 и 2; Есть ли другие лучшие методы ??? –