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

を第一および第二のものを含むすべての兄弟は、同様にそれは私が何をする必要があるかではありませんので、どのように私はこれをachive可能性が離れて行きますか?

答えて

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

あなたは$('#uniqueId3 ~ button').remove()が動作するはずですあなたのケースでは、 "Next Siblings Selector (“prev ~ siblings”)"

を試してみました。

+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 + '〜ボタン')。remove()..動的なjqueryセレクターの作成方法と同じです。 –

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

、あなたはこのようにそれを行うが、そのあなたより多くのボタンを持っている場合することができます削除したくないすべてのボタンに同じクラスを追加したくない場合

関連する問題