我需要在网址栏中添加一些文字而不删除已存在的内容(正如我在标题中提到的那样)。基本上,我有八个左右的哈希(/ one /,/ two /,/ three /等)。
我必须将这些添加到URL栏中,而不删除之前已存在的哈希值。例如,我可以有一个按钮添加" / two /"到URL,但如果" / one /"已经存在了?我需要它才能使它只是在一个之后添加新哈希,就像这样 - " / one / two / three /"。
我尝试过使用
<a href="/one/">Hide "one"</a><br/>
和
<a href="/two/">Hide "two"</a><br/>
,
但不幸的是,当我在第一个之后使用第二个时,它只是替换了&#34; / one /&#34;用&#34; / two /&#34;。
任何建议都会很棒。如果我需要提供更多背景知识,请告诉我,我不太确定我的代码中与此问题相关的内容。
先谢谢你,伙计们!
答案 0 :(得分:1)
您只需要使用一个功能
<a onclick="addHash('/one/');">One</a>
<a onclick="addHash('/two/');">Two</a>
function addHash( hash ) {
window.location.hash = window.location.hash + hash;
}
您可能需要在addHash函数中进行一些检查以查看它是否已存在,但这是一个很好的起点。
答案 1 :(得分:0)
或许可以对你想要在这里实现的目标进行更多描述? 您只是尝试使用URL,还是尝试导航到包含这些参数的页面?
我确信PHP可以通过以下方式解决这个问题,但我不确定为什么要使用它。
<a href="<?=$_SERVER['SCRIPT_NAME']?>/one">One</a>
<a href="<?=$_SERVER['SCRIPT_NAME']?>/two">Two</a>
如果你正在使用jQuery,你可以这样做:
<a href="/one" class="addToUrl">One</a>
<a href="/two" class="addToUrl">Two</a>
<script>
$(function(){
$('.addToUrl').click(function(){
var href = $(this).attr('href');
window.location.href = window.location.pathname + href;
});
});
</script>