jQuery 변수에서 중첩 목록을 제거 할 수 없습니다.
-
18-09-2019 - |
문제
이 코드를 사용하여 애니메이션하는 중첩 된 Oredered 목록이 있습니다 ...
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) 또는 ols의 li s를 보여 주거나 애니메이션하려면
예를 살펴보십시오 여기
내 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>
이 코드를 사용하여 중첩 된 OL을 숨길 수 있습니다 ...
$("ol#update li ol").hide();
하지만 아직 시간은 숨겨져 있지만 애니메이션에 소비되고 있습니다.
이 코드를 사용하여 중첩 된 LI를 제거 할 수 없습니다.
var $li = $("ol#update li").not("ol#update li ol");
$li = $li.not("ol#update li ol");
이것을 살펴보십시오 여기
모든 도움
감사해요
Pradyut
해결책
다음과 같이 원래 목록을 설정해 보셨습니까?
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)');
제휴하지 않습니다 StackOverflow