点击重定向到另一个HTML页面并调用javascript来显示特定的div

时间:2012-07-30 02:37:47

标签: javascript html redirect parameters onclick

我有两个html文件,即FIRST.html和SECOND.html

FIRST.html的ID为A1到A100的DIV,SECOND.html的ID为B1到B100的DIV

点击FIRST.html中的特定DIV后,我想将用户重定向到SECOND.html并显示相应的DIV。

例如,如果用户在FIRST.html中单击DIV id = A10,则应将其重定向到SECOND.html并显示DIV id = B10。

我需要考虑如何做到这一点,我想知道我们是否可以将一些参数从一个页面传递到另一个页面,然后使用这些参数调用javascript。

谢谢!

3 个答案:

答案 0 :(得分:2)

    //FIRST.html
    $("#A10").click(function () {
        document.location.href = "SECOND.html?id=B10";
    })

    //SECOND.html

    $(function () {
        //Prepare the parameters
        var q = document.location.search;
        var qp = q.replace("?", "").split("&");
        var params = {};
        $(qp).each(function (i, kv) {
            var p = kv.split("=");
            params[p[0]] = p[1];
        });
        var idToOpen = params["id"]

        $("#" + idToOpen).show();
    })

    //You can add some other parameters
    document.location.href = "SECOND.html?id=B10&message=SomeMessage";

    //Get it like this

    $(function () {
        //Prepare the parameters
        var q = document.location.search;
        var qp = q.replace("?", "").split("&");
        var params = {};
        $(qp).each(function (i, kv) {
            var p = kv.split("=");
            params[p[0]] = p[1];
        });


        var idToOpen = params["id"]
        var message = params["message"]
        $("#" + idToOpen).show();
        alert("message")
    })

答案 1 :(得分:2)

您可以尝试这样的事情:

将此添加到FIRST.html

$(document).ready(function() {
    $('div').click(function () {
       id = $(this).attr('id').substring(1);
       window.location = 'SECOND.html?id=' + id;
    });

    var getVar = location.search.replace('?', '').split('=');
    $('div[id$=' + getVar[1] + ']')[0].scrollIntoView();
});

将此添加到SECOND.html

$(document).ready(function() {
    $('div').click(function () {
       id = $(this).attr('id').substring(1);
       window.location = 'FIRST.html?id=' + id;
    });

    var getVar = location.search.replace('?', '').split('=');
    $('div[id$=' + getVar[1] + ']')[0].scrollIntoView();
});

答案 2 :(得分:1)

FIRST.html中的

放了这段代码

$('div').click(function() {
var someId = $(this).attr("id");
window.open('SECOND.html/#'+someId);
  });

或者您可以使用完整的网址路径来代替SECOND.html /#。它只是一个想法,没有经过测试,但你可以尝试一下。附:这是两个不同的页面,因此您可以在两个页面上放置相同的ID来尝试此示例。它不是纯粹的JavaScript,而是Jquery。