2014-10-17 106 views
-1

说我有一个类的3个div元素,悬停其中一个我想要内部元素的背景更改为红色。我tryed添加一个ID为这样的每一个元素:Jquery悬停问题

<div class="content"><div class="yellow_hover"></div></div> 
<div class="content"><div class="yellow_hover"></div></div> 
<div class="content"><div class="yellow_hover"></div></div> 

jQuery的

$('.content').each(function(i, div) { 
div.id="div" + (i+1); 
}); 

结果

<div class="content" id="div1"></div> 
<div class="content" id="div2"></div> 
<div class="content" id="div3"></div> 

现在我需要这样的事情,是的,我知道......我” m丢失:

$(div+i).hover(function() { 
    $('.yellow_hover').css('background-color','#FF9900'); 
}); 
+0

是真正的结果? .yellow_hover DIV消失了吗? – Nenotlep 2014-10-17 09:26:13

回答

3

你不需要js这个在你的CSS设置以下规则:

.content:hover .yellow_hover { 
    background-color: #FF9900; 
} 

JsFiddle

+0

该CSS将改变两个div的背景颜色。内容div里面是一个小区域(yellow_hover div)。悬停较大的div必须改变yellow_hover的颜色。 – 2014-10-17 09:31:26

+0

@RenzoCJ这不是怎么css工作...检查编辑小提琴 – 2014-10-17 09:32:47

+0

你是对的,对不起,我看到“.content:hover.yellow:悬停”,到很多小时工作... – 2014-10-17 09:39:02

1

你不需要添加id到div,删除该代码。试试下面的代码徘徊

$('.content').hover(function() { 
    $(this).find('.yellow_hover').css('background-color','#FF9900'); 
}, function(){ 
    $(this).find('.yellow_hover').css('background-color','#FFFFFF'); 
}); 

DEMO

+0

你不喜欢这样做通过CSS? – 2014-10-17 09:29:12

+0

那么容易?就像那样。谢谢 – 2014-10-17 09:32:41

+0

是的,很简单..第一个悬停功能,第二个悬停功能 – 2014-10-17 09:34:24

0

在JS,你需要像那样做:

$('body').on('hover','[id^="div"]',function() { 
    $('[id^="div"]').removeAttr("background-color"); 
    $(this).css('background-color','#FF9900'); 
}); 
1

给元素类,如 “yellow_box”

jQuery的

$(".yellow_box").hover(
    function() { 
    $(this).addClass("yellow_hover"); 
    }, function() { 
    $(this).removeClass("yellow_hover"); 
} 
); 

当我们再次在一个div中,我们添加一个类(yellow_hover)

见jQuery的文档获取更多信息 http://api.jquery.com/hover/