【问题标题】:How to pass variable on href? [closed]如何在href上传递变量? [关闭]
【发布时间】:2019-05-14 09:45:22
【问题描述】:

href="" 时我试图给另一个变量

<a href="a.html" id="a">Hello</a>

以上是我的代码。

当转到a.html 时,我想传递值apple 命名为fruit 的变量。我如何在 JavaScript 或 jQuery 中做到这一点?

【问题讨论】:

  • 去a.html时是什么意思
  • 您可以使用 javascript 将 href 值从 a.html 更改为 a.html?fruit=apple
  • @Mohammad umm .. 去 a.html 是什么意思?当我点击你好然后它会去 a.html

标签: javascript jquery html href


【解决方案1】:

您可以通过将现有值与新值连接来重置 href 值:

var el = document.getElementById('a');
el.href += '?fruit=apple';
console.log(el.href);
&lt;a href="a.html" id="a"&gt;Hello&lt;/a&gt;

【讨论】:

【解决方案2】:

只需在您的主页上执行此操作:

<a href="a.html?fruit=apple" id="a">Hello</a>

a.html 上,添加以下代码:

function getParameterByName(name, url) {
        if (!url) url = window.location.href;
        name = name.replace(/[\[\]]/g, '\\$&');
        var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
            results = regex.exec(url);
        if (!results) return null;
        if (!results[2]) return '';
        return decodeURIComponent(results[2].replace(/\+/g, ' '));
    }

    var fruit = getParameterByName('fruit');
&lt;a href="a.html?fruit=apple" id="a"&gt;Hello&lt;/a&gt;

【讨论】:

【解决方案3】:

JS 可以(轻松)在 URL 之间进行通信的唯一方法是在链接上创建一个参数。例如:

<a href="a.html?fruit=apple" id="a">Hello</a>

在接收页面上,获取该参数数据。如果您希望纯粹通过 JS 将数据嵌入到链接中,您可以使用 jQuery 库使用与此类似的内容附加到 HREF:

$("a").attr("href", '?fruit=' + 'apple');

【讨论】:

    【解决方案4】:

    据我了解,您希望在打开新页面时将查询参数 fruit=apple 添加到锚标记 url。所以你需要使用window.open()来打开新页面

    document.getElementById("a").onclick = function(e){
      e.preventDefault();
      window.open(this.href+"?fruit=apple", '_blank');
    }
    
    <a href="a.html" id="a">Hello</a>
    

    因为新标签在sn-p中不起作用,请在jsfiddle中查看。

    【讨论】:

    【解决方案5】:

    需要一种访问 Html 参数的方法。 我不相信它在 html 中是可能的。然而,有大量的 Javascript 方法。

    例如:

    function getUrlVars() { 
    var vars = {}; 
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { 
       vars[key] = value; 
    });
    return vars; 
    

    }

    你可以这样调用这个函数

    var fruit = getUrlVars()["fruit"];
    console.log(fruit);
    //Apple
    

    您在 href 中的 URL 如下所示:

    a.html?fruit=Apple

    然而,这是硬编码的,如果你想用这个 prehpas 获得一些不错的动态,请使用 angularJS 来创建它。

    Source

    【讨论】:

    猜你喜欢
    • 2021-05-06
    • 1970-01-01
    • 2020-12-28
    • 2020-03-08
    • 2014-01-13
    • 1970-01-01
    • 2012-05-02
    • 2015-03-24
    • 1970-01-01
    相关资源
    最近更新 更多