2017-05-09 20 views
0

divのステータスがスパンの前にあるときに動作するスクリプトがあります。私はdivの前にスパンを置くと動作しません。兄弟姉妹の順序を逆にしたいときにスクリプトを変更するにはどうすればよいですか?クラスを削除する逆兄弟を追加する

$('.status:contains("1") + span').removeClass('fa-times-circle').addClass('fa-sun-o faa'); 
+1

さらにコードを表示できますか?あなたのHTML? –

+2

'+'と '〜'は、その要素が最初の要素の後の兄弟である場合にのみ機能します。 DOMツリーを元に戻すことはできません。 'prev()'を試してみてください –

+0

あなたは_next_要素をチェックする隣接する兄弟セレクタ( '+')を使いました。今のところ、前の要素を見ているCSSセレクタ(まだ)はありません。あなたができることは、親を選択し、子をチェックすることです。 – KarelG

答えて

0

ターゲットprev()を試してみてください、あなたは、次のコードを使用することができますspan状態divの順序とは無関係に同じコードを使用したいとした場合、直ちに兄弟

$('.status:contains("1")').prev('span').removeClass('fa-times-circle').addClass('fa-sun-o faa'); 
+0

ありがとう、Charliefl。 – MasterJoe

0

の前に:
ますのでご注意くださいステータスの唯一のスパン兄弟がある場合にのみ動作します

spanがステータスdivの前に来る場合のみ、ケースを処理したい場合は、他の回答で述べたようにprevを使用してください。

0

これはおそらく必要なものです。私は同じ親のすべての兄弟を見ます。下の例では、スパンをフィルタリングしています。

$('.status:contains("1")').siblings('span').removeClass('fa-times-circle').addClass('fa-sun-o faa'); 
関連する問題