2010-06-24 80 views
0

我試圖找到正確的jQuery的方式只選擇當前活動專區內某一類:jQuery的階級和這個選擇

$('.imageScroll').mouseover(function() { 
    $('.descBox').filter(this).show(500); 
}); 

標記:

<li> 
<div class="descBox"></div> 
</li> 
<li> 
<div class="descBox"></div> 
</li> 
+0

..但它是當前活動div? – 2010-06-24 17:03:27

+0

單擊一個 - 修正來 – kalpaitch 2010-06-24 17:04:43

回答

3

從我的理解,你應該嘗試$('.descBox', this)

1

你的意思是這樣的:

alert($('.descBox').attr('class')); 
1
$(this).filter(".descBox").show(500); 

通常你用filter來做一些稍微複雜的事情。例如,如果您更改了「this」父級內所有div的背景,然後您想在「this」內的descBox類的所有div內僅將邊框添加到「descBox」類中。

像這樣的東西(從手動基本解除):

$("div", this).css("background", "#c8ebcc") 
       .filter(".descBox") 
       .css("border-color", "red"); 

也許在這種情況下:

<div> 
    <div></div> 
    <div class="descBox"></div> 
    <div class="descBox"></div> 
    <div class="descBox"></div> 
    <div class="descBox"></div> 
    <div></div> 
</div> 
<script> 
$("div").click(function() 
{  
    $("div", this).css("background", "#c8ebcc") 
        .filter(".middle") 
        .css("border-color", "red"); 
}); 
</script> 
2

如果你想顯示與.descBox屬於this元素中的div (永遠是這樣)然後使用

$('.descBox', this).show(500); 
+0

感謝所有,我真的應該知道我的基本jQuery語法。 – kalpaitch 2010-06-24 17:09:22