我在HTML中有两个可点击的元素,如下所示:
HTML
var node1 = $('<a href="#" class="list-group-item"">' + fileName1 + '</a>');
var node2 = $('<a href="#" class="list-group-item"">' + fileName2 + '</a>');
他们属于url说的页面:
http://foobar/examples.html
他们附加onclick
个侦听器,从服务器检索一些数据并将其显示在网页上
的Javascript
node1.click(function () {/*Displays table1*/})
node2.click(function () {/*Displays table2*/})
我想更改两次点击的网址,这样如果我在新标签页中打开网址,我会点击node
元素并显示数据。例如,从概念上讲,以下网址应指向点击的node1
及其可见数据:
http://foobar/examples.html##fileName1 (does not work, but you get the idea)
我不想根据已解释的here更改URL,因为我不想为每个fileName
创建一个HTML页面(这是一个增加的列表)。锚点无法帮助,因为它们只是打开http://foobar/examples.html
而没有点击nodes
。 this question的答案对我来说都不是很清楚。有人可以帮忙吗?
答案 0 :(得分:0)
您为更改网址提供的第一个链接就是您想要的。但是,您不会更改HTML页面 - 您可以添加 URL变量。例如:
http://www.example.com/mypage.html?node1=1&node2=1
然后,您需要在文档顶部编写一个Javascript函数来读取URL变量,并在加载文档时显示设置为1(或您选择的任何值)的节点。有关如何阅读URL变量的示例,请参阅this answer。
答案 1 :(得分:0)
您可以为您的节点提供标识符,例如:
var node1 = $('<a href="#" class="list-group-item" id="fileName1">' + fileName1 + '</a>');
var node2 = $('<a href="#" class="list-group-item" id="fileName2">' + fileName2 + '</a>');
您需要将文件名调整为有效ID。
添加以下JS:
var nodeId= window.location.hash;
$(nodeId).click();
然后你可以使用:
http://foobar/examples.html#fileName1 (where fileName1 is adjusted as for IDs).