2012-10-29 179 views
0

我已经得到了下面的标签结构。这在页面上重复了9次。我希望当我悬停在9个'itemInfo'div中的一个上时,它将把所有的文本颜色改变为白色(包括链接)。我如何使用jQuery选择所有这些?看看我下面的尝试。选择div内的所有标签

<div class="row itemInfo"> 
    <div class="row"> 
     <div class="twelve columns itemImage"> 
      <img src="http://lorempixel.com/250/185/abstract/"> 
      </div> 
     </div> 
    </div> 

    <div class="row"> 
     <div class="twelve columns itemDetails"> 
      <h3><a href="#">title</a></h3> 
      <p class="quiet">submitted by <a href="#">designer</a></p>     
     </div> 
    </div> 
</div> 

我尝试:

$(".itemInfo").hover(function() { 
    $(this).find('h3 a').addClass('itemInfoActive'); 
    $(this).find('p').addClass('itemInfoActive'); 
    $(this).find('p a').addClass('itemInfoActive'); 
    return false; 
+1

为什么你没有为你工作? –

+0

你有一个缺少'});''在你的'悬停'功能结束... – udidu

回答

0
$(".itemInfo").mouseenter(function() { 
    $('a,p,h3',this).addClass('itemInfoActive'); 
}); 
0

您可以使用此通用选择:

$(".itemInfo").hover(function() {  
    $(this).find('*').addClass('itemInfoActive'); 
}); 
+0

哟布鲁夫,你错过了'.parent'':'' –

0

检查了这一点工作演示http://jsfiddle.net/E8uws/使用mouseoutmouseover =>http://jsfiddle.net/yUf4Q/

如果你热衷于阅读更多:http://api.jquery.com/category/selectors/

休息应该帮助您的需要:) 代码

$(function() { 
    $(".itemInfo").hover(function() { 
      $(this).parent().find('*').css('color', 'red'); 
    }); 
});​ 

额外的代码

$(function() { 
    $(".itemInfo").mouseover(function() { 
     $(this).parent().find('*').css('color', 'red'); 
    }).mouseout(function() { 
     $(this).parent().find('*').css('color', 'black'); 

    }); 
});​