2010-06-24 45 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