0

我有一个 ul 重复作为不同的类别。在 jquery 的帮助下,我在 ul li 的每个第一个孩子上添加了该类,然后每当我将鼠标悬停在任何 li 上时我都将其删除。但是其中一个缺陷是每当我将鼠标悬停在任何元素上时,都会删除每个类别 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 回答