现在如果我有多个链接使用:
Options 1:
<a href="javascript:;" onClick="window.location.hash+='A'">Option A</a>
<a href="javascript:;" onClick="window.location.hash+='B'">Option B</a>
<a href="javascript:;" onClick="window.location.hash+='C'">Option B</a>
Options 2:
<a href="javascript:;" onClick="window.location.hash+='1'">Option 1</a>
<a href="javascript:;" onClick="window.location.hash+='2'">Option 2</a>
<a href="javascript:;" onClick="window.location.hash+='3'">Option 3</a>
Options 3:
<a href="javascript:;" onClick="window.location.hash+='X'">Option X</a>
<a href="javascript:;" onClick="window.location.hash+='Y'">Option Y</a>
<a href="javascript:;" onClick="window.location.hash+='Z'">Option Z</a>
每当点击其中任何一个时,它将继续添加到URL。有没有办法检查当前的哈希是否已经存在(即,如果哈希字符串中的第三个字符,则替换为当前哈希)。任何帮助都会非常感谢!即使用户在选择选项之间来回走动,我也试图完成看起来如下的最终结果:
http://mydomain.com/question-page#A3Y
答案 0 :(得分:3)
将其更改为+=
以进行连接:
window.location.hash+='A';
我会做以下事情:
首先,为每个可能的选项创建变量:
var option1 = "";
var option2 = "";
var option3 = "";
接下来,创建一个将设置哈希值的函数:
function generateHash() {
window.location.hash = option1 + option2 + option3;
}
最后,只需在onclick事件中设置每个选项,并生成哈希:
<a href="javascript:;" onClick="option1 = 'A'; generateHash();">Option A</a>
...
<a href="javascript:;" onClick="option2 = '1'; generateHash();">Option 1</a>
...
<a href="javascript:;" onClick="option3 = 'X'; generateHash();">Option X</a>