2010-11-23 49 views
1

現在クリックされている要素のすべての子を配列に追加するスクリプトがあります。私はこの配列から<br />タグをすべて削除しようとしていますが、それを理解できないようです。jQueryが配列から項目を削除する

コード:

childElements = childElements.add($(currentElem).children()); 
childElements = childElements.find('br').remove(); 

私は、これは簡単です確信して、私は長い間、私はそれを把握することができないため、このスクリプトを見ているされています。助けを前にありがとう!

+1

'childElements'のようなjQuery結果のコレクションは真のJavaScript配列ではなく、' jQuery'型のオブジェクトです。 –

答えて

1

あなたはこのように、セレクタに基づいてフィルタリングする.not()を使用することができます。

childElements = childElements.add($(currentElem).children()).not('br'); 
+0

AWESOME !!!!私はそれがこのシンプルなものだとは信じられない!笑!私はこれを理解しようとするループの後にループを書いていました。ありがとう! – dennismonsewicz

+0

どのように使用しているかによって、 'childElements = childElements.add($(currentElem).children()。not( 'br'));'がより効率的になる可能性があります – Eric

+0

@Eric - 最初のコレクションがフィルタリングされている場合は、 '.children()。not( 'br')'は安くなります。最後にフィルタリングする方が安いでしょう。 –

2

childrenもセレクタchildren([selector])を受け入れます。

childElements.add($(currentElem).children(':not(br)')); 
+0

jQueryは素晴らしいです!笑!助けてくれてありがとう! – dennismonsewicz

関連する問題