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