jquery转到上一个父元素

时间:2015-08-10 11:06:46

标签: jquery html

我尝试按步骤制作表单,当我在第3步并尝试转到上一步(2)时,它会直接进入第一步,即时使用下一步( )和prev(),代码在小提琴中。

感谢您的帮助

http://fiddle.jshell.net/zo9gnk8c/3/

4 个答案:

答案 0 :(得分:1)

检查this

你必须压制锚点击

$("button").click(function(){
    if($(this).parent().next("fieldset").length > 0){
        $(this).parent().toggle();
        $(this).parent().next().toggle();
    }
});
$(".goBack").click(function(e){
    e.preventDefault(); // Added this new line
    if($(this).parent().prev("fieldset").length > 0){
        $(this).parent().toggle();  
        $(this).parent().prev("fieldset").toggle();
    }
});

答案 1 :(得分:0)

将href设置为#以获取锚标记,以防止页面刷新:

<a href="#" class="goBack">Previous</a>

<强> Working Demo

答案 2 :(得分:0)

在代码末尾使用return:false;e.preventDefault()

演示:http://fiddle.jshell.net/zo9gnk8c/4/

JS:

    $(document).ready(function () {
    $("button").click(function (e) {
        if ($(this).parent().next("fieldset").length > 0) {
            $(this).parent().toggle();
            $(this).parent().next().toggle();
        }
        return false
    });
    $(".goBack").click(function (e) {
        if ($(this).parent().prev("fieldset").length > 0) {
            $(this).parent().toggle();
            $(this).parent().prev("fieldset").toggle();
        }
        return false;
    });
});

答案 3 :(得分:0)

当您点击goback链接时,它会重新加载页面,因为它是带有空白href的<a>标记。要停止默认行为,请向goback单击功能添加事件并停止默认操作

$(".goback").click(function(e) {
   e.preventDefault();
   // Do something - your logic
});