2016-05-15 42 views
0

我建立一個麪包屑和按鈕是一個DIV中添加的,你去深的文件夾,如:刪除所有兄弟姐妹的權利,但不能向左JQUERY JAVASCRIPT

<div id='breadcrumb-wrapper'><button id='uniqueId1'>FolderName1</button><button id='uniqueId2'>FolderName2</button><button id='uniqueId3'>FolderName3</button><button id='uniqueId4'>FolderName4</button></div> 

每個按鈕進入它的補丁,我需要刪除所有的兄弟姐妹的權利,但不是它的當用戶點擊它,如果我使用像左:

$('#breadcrumb-wrapper').nextAll('#uniqueId3').remove(); 

所有的兄弟姐妹以及所有元素從該節點就離開,這不是這個想法。如果我使用類似:

$('#uniqueId3').siblings().remove(); 

所有的兄弟姐妹,包括第一和第二個消失,其除了這不是我需要做的,所以我怎麼可能實現這一目標?

回答

3

元素本身使用nextAll,不是父:

$('#uniqueId3').nextAll().remove();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id='breadcrumb-wrapper'> 
 
    <button id='uniqueId1'>FolderName1</button> 
 
    <button id='uniqueId2'>FolderName2</button> 
 
    <button id='uniqueId3'>FolderName3</button> 
 
    <button id='uniqueId4'>FolderName4</button> 
 
</div>

+0

哦,是的,這個方法也適用於自己,很好學。非常感謝,它做到了。 – Diego

3

你嘗試 「Next Siblings Selector (「prev ~ siblings」)

在你的情況$('#uniqueId3 ~ button').remove()應該工作。

+0

是的,這似乎是要走的路,我只是有語義因爲這是動態構建函數接收btn對象,我不太清楚如何正確地執行:$(btn.id'〜button')。remove():/ – Diego

+1

@Diego'$(' #'+ CSS.escape(btn.id)+'〜*')',假設'btn'有一個ID。如果ID是[CSS標識符](https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier),則不需要'CSS.escape'。 – Oriol

+0

$('#'+ btn.id +'〜button')。remove()與您構建動態jQuery選擇器的方式相同。 –

1
$("#breadcrumb-wrapper button").click(function(){ 
    $(this).nextAll().remove(); 
}); 

這種結構,你可以像這樣做,但如果有更多的按鈕,你不想刪除,然後提供相同的類到所有你想刪除的按鈕