我正在尝试在href=""
<a href="a.html" id="a">Hello</a>
以上是我的代码。
我想在转到apple
时传递名为fruit
的值a.html
的变量。如何在JavaScript或jQuery中做到这一点?
答案 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进行创建。