0
$("table.table").hover(function() {
  $('.main-head').toggleClass("hovered");
}); 

このコードは機能します。すべての.main-head要素が変更されますが、これを修正して最も近い要素のみを変更する方法はありますか? 私は a を追加しようとしましたが.closest().each(function(){おそらくそれらを正しく書いていなかったので、それらが機能しないことを確認した後、それらを捨てました。

助言がありますか?基本的なマークアップ (頭のてっぺんから書き出すだけ)

<div class="main-head">
   <div class="title">
     <h2>TITLE</h2>
     </div>
</div>
  <div class="main-content">
   <table class="table">
     <tr>
       <td></td>
     </tr>
   </table>
 </div>
4

2 に答える 2

5
$("table.table").hover(function() {
    $(this).closest('.main-head').toggleClass("hovered");
}); 

デモ


アップデート

変更されたマークアップについて

$("table.table").hover(function() {
    $(this).parent().prev('.main-head').toggleClass("hovered");
}); ​

デモ

于 2012-12-28T00:42:50.167 に答える
0

切り替えたい最初の要素である場合は、次のようなものを追加できます。

    $('.main-head:first').toggleClass("hovered");
于 2012-12-28T00:48:51.190 に答える