jQuery选择器问题

时间:2010-07-18 04:21:57

标签: jquery

我在项目中上下滑动课程时遇到问题,并希望得到任何帮助。

HTML:

<input type="text" class="text" name="left" style="width:100%;"/>
<input type="submit" class="btn" value="Submit" />
<div class="regler">Regler</div>

jQuery的:

$("input.text").focus(function () {
     $(this).animate({width:'80%'},'slow',function(){
         $(this).next('input.btn').fadeIn('Slow');
     });
     $(this).next(".regler").slideDown('Slow');
});
$("input.text").blur(function () {
     $(this).next('input.btn').fadeOut('Slow',function(){
         $(this).prev().animate({width:'100%'},'slow');
     });
     $(this).next(".regler").slideUp('Slow');
});

CSS:

.regler {
 display: none;  
}

input.btn {
 display: none;  
}

jQuery位于脚本标记中的HTML之后。

$(this).next(".regler").slideDown('Slow');$(this).next(".regler").slideUp('Slow');是唯一无效的行。

谢谢你的回答,Victor。

1 个答案:

答案 0 :(得分:2)

next只是寻找下一个元素。由于this是您上下文中的文本框,因此它没有下一个.regler。如果这些标记包装在父容器中,请尝试:

$(this).siblings(".regler").slideUp('Slow');

或者,如果输入有很多集合:

$(this).next().next(".regler").slideUp('Slow');