在HTML链接中声明JavaScript变量

时间:2014-09-08 23:58:09

标签: javascript html

假设我有一个简单的HTML文档,其中包含以下内容:

<a href="results.html"> cake </a>
<a href="results.html"> pie </a>

results.html包含一个变量,需要在Javscript中声明为第一个链接为100,第二个链接为200,依此类推。

我有什么方法可以做到这一点,当你点击第一个链接时,它打开results.html,javascript变量设置为cake,第二个打开results.html,变量设置为派,等等?

2 个答案:

答案 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>