2017-07-19 93 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 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> 

這意味着你要最接近DIV,那麼前面的H2

$('.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

我不能使用最接近的()或類似的東西嗎?爲了使代碼更可編輯?好吧,那算了。我剛剛讀到其他答覆 – alex3wielki