javascript - 使用 window.location.hash 检查并添加到 URL 哈希

标签 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.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 

最佳答案

将其更改为 += 以连接:

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>

关于javascript - 使用 window.location.hash 检查并添加到 URL 哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14391765/

相关文章:

perl - 在 Perl 中,散列和祝福引用之间的根本区别是什么?

javascript - 将 Javascript 对象编码为 Json 字符串

javascript - FF 和 IE 上的 javascript 中未定义 php 变量

javascript - Webpack 将参数传递给 string-replace-loader

javascript - 模拟 href 点击 - 下载文件

mysql - 选择哪个哈希函数来索引 mysql 上的 uuid 字符串? md5,crc64 或 fnv

c++ - 如何使用 boost::unordered_map

security - 如果 MD5 损坏,有什么更好的解决方案?

javascript - RegEx 从 JavaScript 中的 url 哈希中提取参数

javascript - CSS显示类型: Tabs