【问题标题】:jquery next by class fade outjquery next by class 淡出
【发布时间】:2010-07-23 23:01:59
【问题描述】:
<div id="formheadtop">
 <input class="checkbox" type="checkbox" /></div><div class="formbody"></div>
<div id="formheadtop">
<input class="checkbox" type="checkbox" /></div><div class="formbody"></div>
<div id="formheadtop"><input class="checkbox" type="checkbox" /></div><div class="formbody"></div>



$(function() { $('input:checkbox').live('click', function () {
if ( $(this).attr('checked') == true ) 
{
    $(this).nextAll('.formbody:first').fadeIn();
}
else
{ 
$('.formbody').fadeOut();
};
});

代码不起作用。我只想淡出下一个 div.formbody。

【问题讨论】:

    标签: jquery class next


    【解决方案1】:

    首先我们需要将id="formheadtop" 更改为class="formheadtop",因为IDs 必须是唯一的。然后你可以使用这段代码淡入淡出DIVs:

    jQuery

    $(document).ready(function(){
      $('.formheadtop :checkbox').live('click', function() {
        if ($(this).is(':checked')) {
          $(this).parent().next('.formbody').fadeIn();
        }  else { 
          $(this).parent().next('.formbody').fadeOut();
        };
      });
    });
    

    您可以将 $(this).parent().next('.formbody') 缩短为 $(this).parent().next().fadeIn(),但我输入了选择器,以防您想在两者之间添加一些东西。

    HTML

    <div class="formheadtop"><input class="checkbox" type="checkbox" checked="checked" /></div>
    <div class="formbody">test</div>
    <div class="formheadtop"><input class="checkbox" type="checkbox" checked="checked" /></div>
    <div class="formbody">test</div>
    <div class="formheadtop"><input class="checkbox" type="checkbox" checked="checked" /></div>
    <div class="formbody">test</div>
    

    我默认勾选了复选框选中。如果没有,您需要隐藏formbody 标签中的内容。

    这是code in action

    【讨论】:

    • 令人印象深刻的答案 - 看起来有很多工作要做,代码示例正在运行等等。干得好!
    • 谢谢。没花那么多时间。希望它会有用。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多