2017-06-17 7 views
2

最も近いh2が、これは私がjQueryの:見つける私は、次のホバーイメージに最も近いH2タグを検索するタグ

$(document).ready(function() { 
    $('.img').hover(function(){ 
      $(this).closest('h2').hide(); 
    }) 
}) 

助けてくださいjqueryの中でやろうとしていますものです

<div class="col-md-3 col-sm-3 col-xs-12" style="padding-left:0;"> 
     <div class="ih-item square effect7"><a href="#"> 
     <div class="img"> 
     <img src="images/facilities/facility1.png" class="img-responsive fullwidthimg"> 
     </div> 
     <div class="info"> 
      <h3>Content </h3> 
      <p>Some content </p> 
     </div></a> 
    </div> 
<h2>Arenas</h2> 
</div> 

私のhtmlコードであります私はどうすればそれをすることができます。

+0

変更してコードを)(非表示は;'、あなたはCSSセレクタのためのシングル/ダブルクォートの中にあなたのタグを含める必要が –

+0

[特定のクラスを持つ最も近い祖先要素を見つける](https://stackoverflow.com/questions/22119673/find-the-closest-ancestor-element-that-has-a-specific-class)の可能な複製) – Rob

+0

https://stackoverflow.com/questions/16194578/find-closest-element-in-complete-document – Rob

答えて

5

closest()のみ祖先ツリーを見上げ動作するはずです。あなたは、あなたのDOM ツリーを操作している主な理由は、まず、あなたのツリーに考える必要が

$('.img').hover(function(){ 
     $(this).closest('.ih-item').siblings('h2').hide(); 
}); 
+0

Uncaught TypeError:$(...)。closest(... ).siblingは関数ではありませんイオン – Sikander

+0

ooops ... typoは 's 'で' siblings() 'です。 – charlietfl

+0

@charlietfl良い答え... !! –

0

あなたはH2に引用符が欠落していた。

$(document).ready(function() { 
     $('.img').hover(function(){ 
       $(this).closest('.col-md-3').find('h2').hide(); 
     }) 
    }) 

これは

+0

また、うまくいきませんでした – Sikander

-1

<h2>のような

何か祖先ではないので、あなたは、より複雑なトラバースを必要としています。この状況での私のアプローチは、最初の子ノードに行き、h2タグを見つけてから、あなたの治療を行います。

$(document).ready(function() { 
     $('.img').hover(function(){ 
       $(this).parent().parent().parent().find('h2').hide(); 
     }) 
    }) 

https://jsfiddle.net/9b9s87oo/1/

+0

このコードは質問に答えるかもしれませんが、どのようにして問題が解決されたのか、および/またはそれがなぜ解決されるのかに関する追加的な文脈を提供することで、回答の長期的価値が向上します。 – Badacadabra

+0

@Badacadabraそれは本当です、私たちの地域社会を毎日1%向上させましょう。私は編集をしました。 –

2

あなたは正しいの祖先を取得し、h2タグを見つけるために.parents()メソッドを使用することができます。

$(document).ready(function() { 
 
    $('.img').hover(function() { 
 
    $(this).parents().eq(2).find('h2').hide(); 
 
    }) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="col-md-3 col-sm-3 col-xs-12" style="padding-left:0;"> 
 
    <div class="ih-item square effect7"> 
 
    <a href="#"> 
 
     <div class="img" style="border:2px solid red;"> 
 
     <img src="images/facilities/facility1.png" class="img-responsive fullwidthimg"> 
 
     </div> 
 
     <div class="info"> 
 
     <h3>Content </h3> 
 
     <p>Some content </p> 
 
     </div> 
 
    </a> 
 
    </div> 
 
    <h2>Arenas</h2> 
 
</div>

2

コードの下に通過してください、それは意志助けます。 @ mathiasfcのコードを改訂すると、イメージタクシー上にカーソルを置くと隠れることになり、ホバリングして戻すことができます。

$(document).ready(function() { 
 
    $('.img').hover(function() { 
 
    $(this).parents().eq(2).find('h2').hide(); 
 
    },function(){ 
 
    $(this).parents().eq(2).find('h2').show(); 
 
    }) 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="col-md-3 col-sm-3 col-xs-12" style="padding-left:0;"> 
 
    <div class="ih-item square effect7"> 
 
    <a href="#"> 
 
     <div class="img" style="border:2px solid red;"> 
 
     <img src="images/facilities/facility1.png" class="img-responsive fullwidthimg"> 
 
     </div> 
 
     <div class="info"> 
 
     <h3>Content </h3> 
 
     <p>Some content </p> 
 
     </div> 
 
    </a> 
 
    </div> 
 
    <h2>Arenas</h2> 
 
</div>
この `$(この).closest( 'H2')へ

関連する問題