如何在href上传递变量?

时间:2018-12-13 08:03:24

标签: javascript jquery html href

我正在尝试在href=""

时给出另一个变量
<a href="a.html" id="a">Hello</a>

以上是我的代码。

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

5 个答案:

答案 0 :(得分:1)

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

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

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

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

<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');
<a href="a.html?fruit=apple" id="a">Hello</a>

答案 3 :(得分:0)

据我了解,您想在打开新页面时添加查询参数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>

由于新标签在摘要中不起作用,请在jsfiddle中对其进行检查。

答案 4 :(得分:0)

将需要一种方法来获取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