如何在 href 中填充变量
How to populate variables in href
我目前正在使用以下方法从查询字符串中提取变量:
function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
var s1 = getUrlVars()["s1"];
var s2 = getUrlVars()["s2"];
var s3 = getUrlVars()["s3"];
现在,我知道这是正确的。
我遇到的问题是:我需要在相应参数之后在代码中填充这些变量,但我不知道如何操作。
<body>
<div id="main">
<div id="header">
<div id="mainheader">
<a href="https://domain.com/index.php?s1=s1&s2=s2&s3=s3" target="_blank"><img id="topbanner" src="picture.gif"></a>
</div>
</body>
任何这方面的帮助将不胜感激。
我会使用Javascript在运行时动态创建你的URL。 这样的事情应该有效:
<a href="#" onclick="RedirectURL();return false;"><img id="topbanner" src="picture.gif"></a>
然后在您的 JS 代码中:
function RedirectURL()
{
var s1 = getUrlVars()["s1"];
var s2 = getUrlVars()["s2"];
var s3 = getUrlVars()["s3"];
var URL = "https://domain.com/index.php?s1=" + s1 + "&s2=" + s2 + "&s3=" + s3;
window.location = URL;
}
function getUrlVars()
{
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
你试过这样吗..为您的链接代码提供 ID。
<a id="myLink" href="#" target="_blank"><img id="topbanner" src="picture.gif"></a>
然后你可以简单地这样做。
var s1 = getUrlVars()["s1"];
var s2 = getUrlVars()["s2"];
var s3 = getUrlVars()["s3"];
$("a#myLink").attr("href","https://domain.com/index.php?s1=" + s1 + "&s2=" + s2 + "&s3=" + s3);
有几种方法可以做到这一点:
- 如果要选择要从当前位置传递到新 URL 的参数,请使用此方法:
身体:
<body>
<div id="main">
<div id="header">
<div id="mainheader">
<a href="https://domain.com/index.php?" target="_blank"></a><br>
<a href="https://domain.com/index.php?" target="_blank"></a>
</div>
</body>
.JS:
function getParams() {
var params = location.search.substring(1);
var arrParams = params.split('&');
var objParams = {};
for(var i=0; i<arrParams.length; i++) {
var arrParam = arrParams[i].split("=");
objParams[arrParam[0]] = arrParam[1];
}
return objParams;
}
var objParams = getParams();
var theURL = 'https://domain.com/index.php?s1=' + objParams["s1"] + "&s3=" + objParams["s3"];
$($('a')[0]).attr('href',theURL).attr('title',theURL).html(theURL);
- 否则,如果您只想传递所有参数,请使用以下命令:
身体:
<body>
<div id="main">
<div id="header">
<div id="mainheader">
<a href="https://domain.com/index.php?" target="_blank"></a><br>
<a href="https://domain.com/index.php?" target="_blank"></a>
</div>
</body>
.JS:
function getParams2() {
var params = location.search.substring(1);
return params;
}
var Params = getParams2();
$($('a')[1]).attr('href','https://domain.com/index.php?' + Params).attr('title',$($('a')[1]).attr('href')).html($($('a')[1]).attr('href'));
把所有的东西放在一起:
<body>
<div id="main">
<div id="header">
<div id="mainheader">
<a href="https://domain.com/index.php?" target="_blank"></a><br>
<a href="https://domain.com/index.php?" target="_blank"></a>
</div>
</body>
<script type="text/javascript">
function getParams() {
var params = location.search.substring(1);
var arrParams = params.split('&');
var objParams = {};
for(var i=0; i<arrParams.length; i++) {
var arrParam = arrParams[i].split("=");
objParams[arrParam[0]] = arrParam[1];
}
return objParams;
}
var objParams = getParams();
var theURL = 'https://domain.com/index.php?s1=' + objParams["s1"] + "&s3=" + objParams["s3"];
$($('a')[0]).attr('href',theURL).attr('title',theURL).html(theURL);
function getParams2() {
var params = location.search.substring(1);
return params;
}
var Params = getParams2();
$($('a')[1]).attr('href','https://domain.com/index.php?' + Params).attr('title',$($('a')[1]).attr('href')).html($($('a')[1]).attr('href'));
</script>
相关文章:
- 如何通过ajax刷新JSF填充的javascript变量
- 为什么不't我的变量在我的控制器中填充后在我的视图中呈现
- 使用JSON文件中的变量(字符串)填充文本区域
- 如何使用变量填充iframe源
- JavaScript:如何用变量填充单选按钮值和标签
- 单击按钮时填充javascript变量
- 用 Web 服务结果填充变量
- 当从 for 循环填充变量时如何使用 promise
- 如何在 href 中填充变量
- JavaScript 三元 opretor 根据条件填充变量
- 填充变量时避免先声明变量
- 用后端JSON响应填充变量
- JSON.stringfy(数据)填充变量
- 动态Jquery图形填充变量
- Mustache如何在模板中的花括号内填充变量
- 映射函数而不是填充变量
- 如何使用逻辑运算符填充变量?
- 如何在加载页面后重新填充变量
- 访问函数范围 js 之外的填充变量
- 使用 jQuery 根据下拉列表中的选择填充变量