невозможно удалить вложенные списки в переменной jQuery
-
18-09-2019 - |
Вопрос
У меня есть вложенный упорядоченный список, который я анимирую с помощью этого кода...
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();
теперь я хочу нет чтобы показать или анимировать вложенные списки (ol s) или li в ols
взгляните на пример здесь
Структура моих старых
<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>
Я могу скрыть вложенные ols, используя этот код...
$("ol#update li ol").hide();
Но все равно время тратится на их анимацию, хотя они скрыты.
Я не могу удалить вложенные файлы li с помощью этого кода
var $li = $("ol#update li").not("ol#update li ol");
$li = $li.not("ol#update li ol");
Взгляни на это здесь
Любая помощь
Спасибо
Прадют
Решение
Пробовали ли вы настроить исходный список следующим образом:
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)');