2016-05-15 44 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(); 
}); 

这种结构,你可以像这样做,但如果有更多的按钮,你不想删除,然后提供相同的类到所有你想删除的按钮