jquery 从 uri 获取 var

发布于 2024-10-24 18:11:30 字数 448 浏览 6 评论 0原文

我有两个页面 page1.php 和 page2.php,在 page1.php 上我单击一个 href 并链接到 page2.php 某处...

在 page2.php 中有 4 个扩展器,在页面加载时隐藏或关闭...

问题:我喜欢从第 1 页传递到第 2 页,我喜欢看到哪个扩展器打开

类似 page1 href="page2.php?open=1" 的内容

,并在 page2.php 上检索打开的 var 的 jquery,并在页面加载后只扩展那个......

我有研究谷歌并附带: https://github.com /allmarkedup/jQuery-URL-Parser

是否可以在没有插件的情况下做到这一点?

I have two page page1.php and page2.php, on page1.php i click on a href and that link to page2.php somewhere...

in the page2.php there is 4 expander, hidden or close on pageload...

question : i like to pass from page 1 to page2 which of the expander i like to see OPEN

something like page1 href="page2.php?open=1"

and on page2.php a jquery that retreive the open var, and after pageload expand only that one...

i have research google and come with that : https://github.com/allmarkedup/jQuery-URL-Parser

is it possible to do that without plugsin ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

孤蝉 2024-10-31 18:11:30

具体答案:

var expanderNo = (location.search.match(/open=(\d+)/) || [])[1]

但如果您的目的是链接到页面的特定部分,则 URL 片段 更合适。给定 URL /page2.php#expander1,您可以使用 location.hash.substr(1) 检索 expander1 部分。

The specific answer:

var expanderNo = (location.search.match(/open=(\d+)/) || [])[1]

But if your intention here is to link to a specific part of the page, then URL fragment is more appropriate. Given the URL /page2.php#expander1 you can retrieve the expander1 part with location.hash.substr(1).

违心° 2024-10-31 18:11:30

这是一种通用的方法,可能不是最好的,但我手头有代码,所以我想分享一下。

    function getVars(){
        var vars = new Array();
        var query = window.location.search.substring(1);
        var parms = query.split('&');
        for (var i = 0; i < parms.length; i++) {
                var pos = parms[i].indexOf('=');
                if (pos > 0) {
                        var key = parms[i].substring(0, pos);
                        var val = parms[i].substring(pos + 1);
                        vars[key] = val;
                }else{
                        return Array();
                }
        }
        return vars;
   }

它将为每个参数返回一个键值对。

如果您事先知道参数,另一个答案(Alexey 的)会更好。

Here is one generic way of doing it, probably not the best, but I had the code on hand, so thought I'd share.

    function getVars(){
        var vars = new Array();
        var query = window.location.search.substring(1);
        var parms = query.split('&');
        for (var i = 0; i < parms.length; i++) {
                var pos = parms[i].indexOf('=');
                if (pos > 0) {
                        var key = parms[i].substring(0, pos);
                        var val = parms[i].substring(pos + 1);
                        vars[key] = val;
                }else{
                        return Array();
                }
        }
        return vars;
   }

it will return a key value pair for each parameter.

The other answer (Alexey's) is better if you know the parameters beforehand.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文