2017-08-04 207 views
-1
<div class='crumb'>home</div> 
<div class='crumb'>sky</div> 
<div class='crumb'>sea</div> 

skysea動態使用jQuery的appendTo功能加入。無法刪除動態添加元素

現在我想刪除所有crumbs大於然後單擊一個。
例如:sky被點擊,我預計sea被刪除。

$(document).on('click', '.crumb', function() { 
    var i = $(this).index(".crumb"); 
    $(".crumb:gt(i)").remove(); 
}); 

沒有被刪除!

+0

@Taplar,因爲麪包屑功能。 – bonaca

+0

@charlietfl對我來說似乎很好。我的意思是除了不正確的級聯變量 – j08691

回答

5
$(this).nextAll().remove(); 

獲取之後的所有元素,並刪除它們

+0

解決。非常感謝 – bonaca

2

$(document).on('click', '.crumb', function() { 
 
    var i = $(this).index(".crumb"); 
 
    $(".crumb:gt("+i+")").remove(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class='crumb'>home</div> 
 
<div class='crumb'>sky</div> 
 
<div class='crumb'>sea</div>

+1

我的糟糕...已經使用了多年,但始終是相反的。剛剛查看過API,並不知道可以通過兩種方式完成。一直使用'$('。crumb')。index(this)'..另一種方式來做同樣的事情 – charlietfl

0

試試這個代碼

$(document).on('click', '.crumb', function() { 
 
    $(this).nextAll().remove(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class='crumb'>home</div> 
 
<div class='crumb'>sky</div> 
 
<div class='crumb'>sea</div>