使用JQuery向当前URL添加哈希标记

使用JQuery向当前URL添加哈希标记,jquery,hash,href,Jquery,Hash,Href,在我的页面上,我有3个标签设置,使用此代码和一些CSS <ul class="subnav" id="subnav"> <li class="active"><a href="#subover">Overview</a></li> <li><a href="#subnews">News</a></li> <li><a href="#subgalle

在我的页面上,我有3个标签设置,使用此代码和一些CSS

<ul class="subnav" id="subnav">
    <li class="active"><a href="#subover">Overview</a></li>
    <li><a href="#subnews">News</a></li>
    <li><a href="#subgallery">Gallery</a></li>
    </ul>
在news选项卡中,我使用.load从页面arc.php和id=news填充它

 <div class="subcont" id="subnews">
   <script>
jQuery(document).ready(function ($) {
$('#subnews').append($('<div>').load('arc.php #news'));
});
</script> 
   </div>

jQuery(文档).ready(函数($){
$(“#子新闻”).append($('').load('arc.php#news');
});
在arc.php页面上,我有带文章链接的新闻描述。单击文章链接时。我想把它加载到subnews分区。我正在用这个

<script>  

 jQuery(document).ready(function ($) {

$("#subnews").on("click", "a", function (e) { 
    $("#subnews").load($(this).attr("href"));
    e.preventDefault();
});
 });
</script>

jQuery(文档).ready(函数($){
$(“#子新闻”)。在(“单击”,“a”,函数(e){
$(“#子新闻”).load($(this.attr(“href”));
e、 预防默认值();
});
});
现在我的问题是

加载新闻文章时,url不会更改,因此我无法使用back返回新闻文章列表

我确实有代码跟踪散列标签,当我从概述、新闻和图库中更改时,它就会工作。我可以使用back返回选项卡

是否有一种方法可以在单击文章时向url添加哈希标记,以便使用跟踪并能够单击返回?

我建议:

$("#subnews").on("click", "a", function (e) {
    var href = $(this).attr('href');
    $("#subnews").load(href);
    window.location.hash = href;
    e.preventDefault();
});
但我看不出有任何理由使用
$(this).attr('href')
,我个人会使用:

$("#subnews").on("click", "a", function (e) {
    var href = this.href;
    $("#subnews").load(href);
    window.location.hash = href;
    e.preventDefault();
});
参考资料:

    • 我建议:

      $("#subnews").on("click", "a", function (e) {
          var href = $(this).attr('href');
          $("#subnews").load(href);
          window.location.hash = href;
          e.preventDefault();
      });
      
      但我看不出有任何理由使用
      $(this).attr('href')
      ,我个人会使用:

      $("#subnews").on("click", "a", function (e) {
          var href = this.href;
          $("#subnews").load(href);
          window.location.hash = href;
          e.preventDefault();
      });
      
      参考资料:


      这对于添加哈希非常有效。“后退”按钮仍然不起作用。我猜这是因为div内容正在被清空和替换,没有什么可以做的。这有什么办法吗?或者另一种方法?这对于添加散列非常有效。“后退”按钮仍然不起作用。我猜这是因为div内容正在被清空和替换,没有什么可以做的。这有什么办法吗?还是另一种方法?