0

私は jQuery を使用して addClass をクラスmitemで最も近い href に追加しています。

しかし、うまくいきません...

問題は、このようなコードでは、最も近いa要素だけでなく、メニュー内のすべてのa要素にactクラスを追加することです。

多分私は何か他のものを使うべきですか?または、コードの書き方に何か問題があるのでしょうか?

<script type="text/javascript">
$(document).ready(function(){ 
$("#nav").hover(function(){ 
    //$('ul li.current').addClass('act');
    $(this).closest("a.mitem").addClass("act");
  }, 
  function () {
     $(".mitem").removeClass('act');
  }
  );    

});
</script>

        <ul id="nav">
            <li><a href="#" class="mitem mhome" title="">home</a></li>
            <li><a href="#" class="mitem mshop" title="">shop</a>
                <ul class="child">
                    <li class="mheader"></li>
                    <li><a href="#">Hard Drives</a></li>
                    <li><a href="#">Monitors</a></li>
                    <li><a href="#">Speakers</a></li>
                    <li><a href="#">Random Equipment</a></li>
                </ul>            
            </li>
         </ul>
4

3 に答える 3

0

thisセレクターに一致する最初の子孫を選択してみてください。

$(this).find('a.mitem').first()

デモ

于 2013-08-20T23:48:19.007 に答える