2012-04-16 52 views
4

我有以下的HTML標記:jQuery的表演下一個父DIV

<div id="step1" class="step"> 
        <h1>Enter code</h1> 
        <p><input type="text" value="<%= @groupCode %>" name="group_code" class="span3" /> 
         <a class="btn btn-primary btn-medium"> 
          Next &raquo; 
         </a> 
        </p> 
       </div> 
       <div id="step2" class="step" style="display: none"> 
        <p>Hello World</p> 
       </div> 

在點擊鏈接(.btn)我需要顯示下一個父DIV(#step2)。我將此設計爲一個註冊過程,因此將會有多個父div(均以步驟{:id}命名)

任何幫助都非常感謝!

回答

8

您應該能夠使用類似:

//This should access the parent (step1), then the next element (step2) 
$(this).parent().next() 
+0

感謝您的快速回復!當我看到您的評論時,我實際上已經發現了它。大聲笑!我做了一些關閉$(this).parents('。step')。next()' – dennismonsewicz 2012-04-16 17:39:53

+0

很高興爲你工作。我剛剛提到在父區內使用額外的選擇器。 – 2012-04-16 17:41:29

2
jQuery('.btn').click(function(){ 
    jQuery(this).closest('.step').next().show(); 
}); 
2
$(function(){ 
    $(".step a.btn").click(function(){ 
    var item= $(this); 
    item.parent().parent().next().show(); 
    }); 
}); 

如果你想隱藏當前並顯示下一條具有一定褪色效果,你可以做到這一點

$(function(){ 
    $(".step a.btn").click(function(){ 
    var item= $(this); 
     item.parent().parent().fadeOut(400,function(){ 
     item.parent().parent().next(".step").fadeIn(300); 
     }); 
    }); 
}); 

這裏是一個例子:http://jsfiddle.net/Jm7fW/15/