按钮上的jQuery addClass仅悬停到它的容器div

时间:2014-06-30 21:19:55

标签: jquery hover

我想在其上添加类到div上的悬停按钮。当我将鼠标悬停在此按钮时,div将有一个新课程。

此HTML代码

<div class='post'><a class='more' href='more'>More</a></div>
<div class='post'><a class='more' href='more'>More</a></div>
<div class='post'><a class='more' href='more'>More</a></div>
<div class='post'><a class='more' href='more'>More</a></div>
<div class='post'><a class='more' href='more'>More</a></div>
<div class='post'><a class='more' href='more'>More</a></div>

我使用这个jquery代码来做到这一点

 $(document).ready(function(){

$( ".more" ).hover(
  function() {
    $( ".post" ).addClass( "post-hover" );
  }, function() {
    $( ".post" ).removeClass( "post-hover" );
  }
);

            });


});

但是当我悬停a.more时,此jquery代码会将post-hover添加到所有.post div。我想只为一个div做这个,我将它悬停在它上面。更多链接。

4 个答案:

答案 0 :(得分:5)

要引用div父级,请使用$(this).parent()代替$(".post") $(document).ready(function () { $(".more").hover( function () { $(this).parent().addClass("post-hover"); }, function () { $(this).parent().removeClass("post-hover"); }); }); 选择包含类post的所有元素。

{{1}}

<强> jsFiddle example

答案 1 :(得分:0)

尝试这样的事情:http://jsfiddle.net/2GWc2/

<script>
$(function(){
   $(".more").hover(function(){
       $("div.post").removeClass("post-hover");
        $(this).parent().addClass("post-hover");
   });
});
</script>

答案 2 :(得分:0)

我已经解决了我的问题,根据@ j08691我应该使用$(this).parent()但如果代码像我的例子,如果我需要引用.post类我应该使用$(this).parents(".post")这个将仅为.post类添加一个新类,其中包含.more链接,代码就是这样。

$(document).ready(function () {
     $(".more").hover(
     function () {
         $(this).parents(".post").addClass("post-hover");
     }, function () {
         $(this).parents(".post").removeClass("post-hover");
     });
 });

答案 3 :(得分:0)

当鼠标悬停在按钮上时,我试图更改按钮的文字颜色。我已经尝试过上面的脚本但是没有用。但是,我这样做了。

HTML代码

<div> 
<button class="buttonClass"> Submit </button> 
</div>

Javascript代码

$(document).on("mouseover",".buttonClass", function(){
    $(this).addClass("name_of_class").mouseleave( function(){ $(this).removeClass("name_of_class"); });
});

CSS代码

.name_of_class {
    background:red;
}

Live Demo