如何在新标签页中打开当前页面并显示隐藏的div

时间:2015-12-02 19:10:01

标签: javascript jquery html

是否可以点击按钮在新标签页中打开同一页面,并显示在父母中看不到的隐藏div?

目前我有一个名为被替换的div,当用户点击按钮时,它正被下面的替换文本替换......但它正在替换为父。出于我的目的,我想在新标签页中加载同一页面,其中显示页面内容和替换文字而不是隐藏的替换



<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script>
    $(document).ready(function(){
        $("button").click(function(){
            $("#replacediv").replaceWith("<span class='style'>Replacement Text</span>");
        });
    });
    </script>
&#13;
<div id="replacediv"></div>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

如果您希望$("#replacediv")的内容和同一页面中的范围不相互替换,请执行以下操作:

$(document).ready(function(){
 $("#replacediv").before("<span style="display:none;" class='style'>Replacement Text</span>");
        $("button").click(function(){
            $(".style").show();
        });
    });

答案 1 :(得分:0)

我认为一种方法是,当您打开页面并添加一个URL参数时,会导致页面以不同方式呈现,例如用URL参数中的Text替换它上面的一些文本。 e.g。

在您的页面上,您可以定义如下内容:

$(document).ready(function(){
    $("button").click(function(){
        window.open(window.location.href + '?replace=Replacement%20Text', '_blank');
    });

});

另外你需要这样的东西(仍在同一页面,但只有在用参数调用时才有效)

$(document).ready(function(){
    $("button").click(function(){
        window.open(window.location.href + '?replace=Replacement%20Text', '_blank');
    });

    var arr = location.href.match(/replace=([^&]+)/)
    var replace = arr[1];

    if (replace != '') {
         $("#replacediv").replaceWith("<span class='style'>" + replace + "</span>");
    }
});

此版本将使您的按钮仍然可以点击。如果您不想使用按钮,则需要提前询问URL参数,并且不要首先渲染按钮。这取决于你。

是否朝着正确的方向前进?希望有所帮助。