Javascript 使用window.location.hash检查并添加URL哈希

Javascript 使用window.location.hash检查并添加URL哈希,javascript,hash,Javascript,Hash,现在,如果我有多个链接,请使用: 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.has

现在,如果我有多个链接,请使用:

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>

将其更改为
+=
以连接:

window.location.hash+='A';
我会做如下的事情:

首先,为每个可能的选项创建变量:

var option1 = "";
var option2 = "";
var option3 = "";
接下来,创建一个函数来设置哈希:

function generateHash() {
  window.location.hash = option1 + option2 + option3;
}
<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>
最后,只需在onclick事件中设置每个选项,并生成哈希:

function generateHash() {
  window.location.hash = option1 + option2 + option3;
}
<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>

...
...

这是可行的,但是否有办法检查当前哈希值并替换它(如果存在)?问题是在我上面的例子中,有人可以选择一个选项的所有3个,它只会不断地添加到URL,然后你应该通过一个函数来运行它,该函数将进行替换。请注意,您已经标记了jquery,但您的帖子中没有jquery,因此您应该删除该标记。抱歉,编辑了它。我想jquery可能有一个我需要的解决方案。我改变了答案,应该是你想要的答案。这个更新的答案完全实现了我想要做的,完美。非常感谢!