0

別カテゴリーとしてULリピーターがいます。jquery の助けを借りて、ul li のすべての最初の子にクラスを追加し、li にカーソルを合わせるたびにクラスを削除しました。しかし、欠陥の 1 つは、任意の要素にカーソルを合わせるたびに、すべてのカテゴリ ul li 最初の子クラスが削除されますが、一度にホバーすると、特定の ul li 最初の子クラスのみを削除したいということです。

$(".product-left ul li:first-child img").addClass("first_child");

$(".product-left ul li ").mouseover(function() {
  $(".product-left ul li:first-child img" ).each.removeClass("first_child");
}).mouseout(function() { 
  $(".product-left ul li:first-child img").addClass("first_child");
});

html

<div class="product-left">



     <ul>
              <li><div class="pr_name"> <a href=" subproductpage.php?id=4"><div class="img_50_35">
        <img width="50" height="35" src="childsubcategory_image/20120925_085744_accomodation.gif"> </div>
        <span class="product_nm"> cosmo_sub_child_2 </span></a>
        </div>
  </li>
                 <li><div class="pr_name"> <a href=" subproductpage.php?id=3"><div class="img_50_35">
        <img width="50" height="35" src="childsubcategory_image/20120925_080004_search.gif"> </div>
        <span class="product_nm"> cosmo_sub_child </span></a>
        </div>
       </li>
                 </ul>




        </div>
4

2 に答える 2

1

thisイベント ハンドラー内で使用しmouseoverて、イベントがトリガーされた要素を参照します。

$(".product-left ul li").mouseover(function() {
    $("img", this).removeClass("first_child");
}).mouseout(function() { 
    $("img", this).addClass("first_child");
});
于 2012-09-26T19:45:45.427 に答える
0

これを試して

$(".product-left ul").find('img:eq(0)').addClass("first_child");
$(".product-left ul li").mouseover(function() {
    $(this).parent().find("img:eq(0)").removeClass("first_child");
}).mouseout(function() {
    $(this).parent().find("img:eq(0)").addClass("first_child");
});​

フィドル_

タグの代わりにタグを付ける

更新されたコード

更新されたフィドル

于 2012-09-26T19:46:42.993 に答える