Javascript 在ajax jquery中重新加载页面后单击链接显示隐藏的div

Javascript 在ajax jquery中重新加载页面后单击链接显示隐藏的div,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,在我的页面中,我有许多隐藏的div。在页面加载时,div是隐藏的。单击链接时,将显示特定的div。我需要它,因为在重新加载页面后,divs应该显示出来 我的代码在这里: <li><a class="add_new" href="javascript:void(0);" onClick="showdivs()">Add </a></li> <li><a class="info" href="javascript:void(0);"

在我的页面中,我有许多隐藏的div。在页面加载时,div是隐藏的。单击链接时,将显示特定的div。我需要它,因为在重新加载页面后,divs应该显示出来

我的代码在这里:

<li><a class="add_new" href="javascript:void(0);" onClick="showdivs()">Add </a></li>
<li><a class="info" href="javascript:void(0);" onClick="showdivs()">info</a></li>

<div id="add_new">hai.....</div>
<div id="info">heloo..</div>

<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>

<script>
    $(window).load(function() {
        $("#info").hide();
        $("#add_new").hide();
    });

    function showdivs() {
        var divs = $("#info,#add_new");

        //Show chosen div, and hide all others
        $("li a").click(function() {

            $(divs).hide();
            $("#" + $(this).attr("class")).show();

        });
</script>
  • 海。。。。。 你好。。 $(窗口)。加载(函数(){ $(“#info”).hide(); $(“#添加新”).hide(); }); 函数showdivs(){ var divs=$(“#info,#add#u new”); //显示选定的div,并隐藏所有其他div $(“li a”)。单击(函数(){ $(divs.hide(); $(“#”+$(this.attr(“class”).show(); });

    代码正常,但页面没有刷新。我需要重新加载页面,然后显示隐藏的div。

    我不知道这是否是您要查找的,但我认为您希望重新加载页面,因为div没有显示,问题是,您需要添加clickhandler以显示div“onClick”:

    因此,您必须单击两次以显示div。下面是我的建议:

    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
    <script>
    $(window).load(function () {
        $("#info").hide();
        $("#add_new").hide();
    });
    
    function showdivs( element ) {// element is this param
        $("#" + $( element ).attr("class")).show();
    }
    
    </script>
    <!-- add parameter this-->
    <li><a class="add_new" href="javascript:void(0);" onClick="showdivs(this)">Add </a></li>
    <li><a class="info" href="javascript:void(0);" onClick="showdivs(this)">info</a></li>
    
    <div id="add_new">hai.....</div>
    <div id = "info">heloo..</div>
    
    
    $(窗口)。加载(函数(){
    $(“#info”).hide();
    $(“#添加新”).hide();
    });
    函数showdivs(element){//element是这个参数
    $(“#”+$(元素).attr(“类”).show();
    }
    
  • 海。。。。。 你好。。
    您也可以这样做:

    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
    <script>
    $(window).load(function () {
        $("#info").hide();
        $("#add_new").hide();
    
        $("li a").click( function () {
            $("#" + $( this ).attr("class")).show();
        });
    
    });
    
    </script>
    
    <li><a class="add_new" href="javascript:void(0);">Add </a></li>
    <li><a class="info" href="javascript:void(0);">info</a></li>
    
    <div id="add_new">hai.....</div>
    <div id = "info">heloo..</div>
    
    
    $(窗口)。加载(函数(){
    $(“#info”).hide();
    $(“#添加新”).hide();
    $(“li a”)。单击(函数(){
    $(“#”+$(this.attr(“class”).show();
    });
    });
    
  • 海。。。。。 你好。。
    显示div时,使用
    document.cookie=“divToShow=“+idOfTheDivToShow;”
    将类存储在cookie中

    如果要刷新页面,请在javascript中使用
    Location.reload()

    然后,使用此函数获取您的
    divToShow
    cookie并显示相关div:

    function getCookie(cname) {
        var name = cname + "=";
        var ca = document.cookie.split(';');
        for(var i=0; i<ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0)==' ') c = c.substring(1);
            if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
        }
        return ""; 
    }
    
    函数getCookie(cname){
    变量名称=cname+“=”;
    var ca=document.cookie.split(“;”);
    对于(var i=0;i请尝试以下代码

    <body>
    <li><a class="add_new" href="javascript:void(0);" onClick="showdivs()">Add </a></li>
    <li><a class="info" href="javascript:void(0);" onClick="showdivs()">info</a></li>
    
    <div id="add_new">hai.....</div>
    <div id="info">heloo..</div>
    
    <script type="text/javascript" src="https://code.jquery.com/jquery-latest.min.js"></script>
    
    <script>
        jQuery(window).load(function() {
            jQuery("#info").hide();
            jQuery("#add_new").hide();
        });
    
        function showdivs() {
            var divs = jQuery("#info,#add_new");
    
            //Show chosen div, and hide all others
            jQuery("li a").click(function() {
    
                jQuery(divs).hide();
                jQuery("#" + $(this).attr("class")).show();
            });
        }
    </script>
    </body>
    
    
    
  • 海。。。。。 你好。。 jQuery(window).load(函数(){ jQuery(“#info”).hide(); jQuery(“#添加新”).hide(); }); 函数showdivs(){ var divs=jQuery(“#info,#add#u new”); //显示选定的div,并隐藏所有其他div jQuery(“LIA”)。单击(函数(){ jQuery(divs.hide(); jQuery(“#”+$(this.attr(“class”)).show(); }); }
    因此,您试图在单击链接时显示div,但页面为什么要刷新?我不知道我是否理解,您想更改可见div的状态?然后您必须使用cookie
    <body>
    <li><a class="add_new" href="javascript:void(0);" onClick="showdivs()">Add </a></li>
    <li><a class="info" href="javascript:void(0);" onClick="showdivs()">info</a></li>
    
    <div id="add_new">hai.....</div>
    <div id="info">heloo..</div>
    
    <script type="text/javascript" src="https://code.jquery.com/jquery-latest.min.js"></script>
    
    <script>
        jQuery(window).load(function() {
            jQuery("#info").hide();
            jQuery("#add_new").hide();
        });
    
        function showdivs() {
            var divs = jQuery("#info,#add_new");
    
            //Show chosen div, and hide all others
            jQuery("li a").click(function() {
    
                jQuery(divs).hide();
                jQuery("#" + $(this).attr("class")).show();
            });
        }
    </script>
    </body>