2016-09-24 5 views
3

各ループにhide_some_features、show_some_featuresというクラスを追加しています。今度は、次のhide_some_featuresクラスを持つfeature_suffixにクラスを追加したいと思います。私は$(this).closest('.feature_suffix').addClass('test-class');で動作していませんでした。jqueryを使用して前の要素にクラスを追加します。

$('.variations_form input:radio[name=attribute_pa_1]').each(function() { 
    if (jQuery.inArray($(this).attr('data-feature-value'), disabledFetaureValue) < 0) { 
     $(this).closest('.cc-selector').addClass('hide_some_features'); 
     $(this).closest('.feature_suffix').addClass('test-class'); 
    } else { 
     $(this).closest('.cc-selector').addClass('show_some_features'); 
    } 
}) 

; enter image description here

私は、ターゲット要素がイベントを発生要素の祖先ではないので、ここで

+1

質問ではありません私のためにはっきりと、あなたはもっと説明できますか? –

+0

イメージとしてHTMLを共有することはできません –

+0

シンプルでhide_some_featuresの近くにfeature_suffixクラスを追加したい – Coder

答えて

2

.closest()文句を言わない仕事に場所を強調するために、クラスを追加します。以下を使用します

$(this).closest('.cc-selector').prev('.feature_suffix').addClass('test-class'); 

enter image description here

+0

本当にあなたは星です。 :) – Coder

1

あなたが最も近いcc-selectorを見つけることができ、それはhide_some_featuresを持っているかどうかそう、その前の兄弟に新しいクラスを追加する場合、参照

$(this).closest('.cc-selector').filter('.hide_some_features').prev('.feature_suffix').addClass('test-class'); 
+0

ありがとうございました。あなたのコードもうまく動作:) – Coder

関連する問題