2017-07-19 6 views
0

私はスライドミニメニューを作ろうとしています。私はそれをjqueryを使ってやろうとしています。基本的には、特定のボックスにあるh2要素を取得する必要があります。特定の要素の親を取得する

https://jsfiddle.net/1nksxhe0/2/

それはここにコードを追加するために私怒鳴らので、私ならば、私はメインのJS機能を追加しているが、それは例えばjsfiddle

$('.category-button').on('click', function() { 
$(this).closest('h2').css('color','yellow'); 
}); 

の上に置くために、より理にかなっていますアニメーションの下にあるビデオボタンをクリックします。アニメーションh2だけを点灯させたいと思います。

答えて

3

H2要素は、前H2あなたが最も近いDIVをしたい意味

<h2 class="col-md-12 text-center category-title">Self Promotion </h2> 
<div class="col-md-12 text-center"> 
    <a target="_blank" href="url"> 
     <button id="..." type="button" class="btn category-button">See The Videos</button> 
    </a> 
</div> 

を次のようにマークアップは、ボタンの親ではありません

$('.category-button').on('click', function() { 
    $(this).closest('div').prev('h2').css('color','yellow'); 
}); 

FIDDLE

+0

あなたの 'h2'は、もちろんボタンを含む' div'の直前にあると仮定します。 – TLS

+1

@TLS - はい、OPが質問にリンクされたHTMLを変更しないと仮定すると、すべての賭けはとにかくオフになります。 – adeneo

+0

これは私が使いたいhtmlです。しかし、コードをもっと耐えられるようにする方法はありますか?ちょうど好奇心が強い – alex3wielki

1

あなたの場合:

$(this).parent().parent().parent().find('h2').css('color', 'yellow'); 

https://jsfiddle.net/1nksxhe0/3/

+0

nearest()などを使用することはできませんか?コードをより編集可能にするには?分かった、気にしないで。私は他の回答を読んだだけです – alex3wielki

関連する問題