假设我有一个简单的HTML文档,其中包含以下内容:
<a href="results.html"> cake </a>
<a href="results.html"> pie </a>
和results.html
包含一个变量,需要在Javscript中声明为第一个链接为100,第二个链接为200,依此类推。
我有什么方法可以做到这一点,当你点击第一个链接时,它打开results.html
,javascript变量设置为cake,第二个打开results.html
,变量设置为派,等等?
答案 0 :(得分:2)
您可以在查询字符串中传递它们。例如:
<a href="results.html?result=cake"> cake </a>
<a href="results.html?result=pie"> pie </a>
在results.html页面中,您将获取并解析查询字符串。例如:
var queryStr = window.location.search.substring(1);
var params = parseQueryStr(queryStr);
console.log(params["result"]);
var parseQueryStr = function(queryStr) {
var params = {};
var queryArray = queryStr.split("&");
for (var i = 0, var l = queryArray.length; i < l; i++ ) {
var temp = queryArray[i].split('=');
params[temp[0]] = temp[1];
}
return params;
};
答案 1 :(得分:0)
<a href="results.html?keyword=cake"> cake </a>
<a href="results.html?keyword=pie"> pie </a>
在results.html中:
<script type="text/javascript">
function getQueryParams(qs) {
qs = qs.split("+").join(" ");
var params = {}, tokens,
re = /[?&]?([^=]+)=([^&]*)/g;
while (tokens = re.exec(qs)) {
params[decodeURIComponent(tokens[1])]
= decodeURIComponent(tokens[2]);
}
return params;
}
var query = getQueryParams(document.location.search);
alert(query.keyword);
</script>