2010-07-07 84 views
0

我需要在我的javascript中选择一个类并更改其属性之一。 但由于该类正在与不同的div一起使用,因此我需要更改仅悬停在其他类上的类的属性。那可能吗?jquery选择器

HTML结构是这样的:

<div class="home_linkbox_href"><a href=""><div class="home_linkbox"> 
        <h1>/h1> 
        <h2></h2> 
       </div></a></div> 

的JavaScript:

$(".home_linkbox_href a").hover(function(){ 
    //alert("u did it..."); 
    $(".home_linkbox_href a .home_linkbox").css("background-color", "#ffe500"); 

    }, 
    function(){ 
     $(".home_linkbox").css("background-color", "#000"); 
}); 

有人可以帮忙吗?

回答

0

可以指定this为背景的选择,这只会在当前悬停的元素找到匹配:

$(".home_linkbox_href a").hover(function(){ 
    //alert("u did it..."); 
    $(".home_linkbox", this).css("background-color", "#ffe500"); 

    }, 
    function(){ 
     $(".home_linkbox", this).css("background-color", "#000"); 
}); 
+0

我之前使用了$(this)。但.find()做到了。非常感谢。 :) – amit 2010-07-07 15:51:59

4

我想你会使用$(this)。

$(".home_linkbox_href a").hover(function(){ 
    $(this).css("background-color", "#ffe500"); 
    $(this).attr("href", "http://www.google.com"); 
    }, 
    function(){ 
     $(this).css("background-color", "#000"); 
}); 
+0

'$(这)'会给你的'元素。 OP要的是'.home_linkbox',它是'' – user113716 2010-07-07 15:57:47

+0

@patrick的孩子。是的,你是对的。我没有仔细阅读OP的代码。最初他也在改变href,所以我认为这是''标签。 – KLee1 2010-07-07 16:01:08

0
$(".home_linkbox_href").find("a").hover(
    function(){ 
    $(this).siblings(".home_linkbox").css("background-color", "#ffe500"); 
    }, 

    function(){ 
    $(this).siblings(".home_linkbox").css("background-color", "#000"); 
    } 
);