1

我有这样的东西,我需要在每个父级的主 div 中显示每个名为“plink”的 div,所以我尝试淡入“.plink”,但它对“plink”的所有 div 执行相同的功能

<script>

    $(document).ready(function(){
        $('.plink').hide();
        $('.project').mouseover(function(){
            $(this).next('.plink').fadeIn(400);
        });
        $('.project').mouseleave(function(){
            $(this).next('.plink').fadeOut(200);
        });

    });

</script>

<div class="project">
    <div class="plink">
        <div class="go"></div>
        <div class="goplus"><img src="images/more.png" border="0"/></div>
    </div>
    <div class="pic"><img src="images/portfolio_pic2.png" border="0" alt="projectname"/></div>
    <div class="title">Test1</div>
</div>
<div class="spacer_project"></div>
<div class="project">
    <div class="plink">
        <div class="go"></div>
        <div class="goplus"><img src="images/more.png" border="0"/></div>
    </div>
    <div class="pic"><img src="images/portfolio_pic.png" border="0" alt="projectname"/></div>
    <div class="title">test2</div>
</div>
4

2 回答 2

4

您可以使用find()而不是next()...

$(this).find('.plink').fadeIn(400);

因为this是你的.projectdiv 那么你需要“找到”你正在寻找的子元素。使用意味着如果next()它与选择器匹配,您将获得下一个元素(即检查下一个div是否与选择器匹配).project.plink

于 2012-08-03T13:58:47.963 回答
0

我会像 musefan 建议的那样走 FIND 路线。这是解决方案代码:

http://jsfiddle.net/bx7YC/

<div class="project">
    <div class="plink">
        <div class="go">go</div>
        <div class="goplus">goplus</div>
     </div>
     <div class="pic">pic</div>
     <div class="title">Test1</div>
</div>

<div class="spacer_project"></div>

<div class="project">
    <div class="plink">
        <div class="go">go</div>
        <div class="goplus">goplus</div>
    </div>
    <div class="pic">pic</div>
    <div class="title">Test2</div>
</div>​

$('.plink').hide();

$('.project').mouseover(function(){
  $(this).find('.plink').fadeIn(400);
});
$('.project').mouseleave(function(){
  $(this).find('.plink').fadeOut(200);
});​

我用 jsfiddle 的简单文本替换了损坏的 img 链接。

于 2012-08-03T14:00:30.053 回答