如何使用JavaScript或JQuery删除url中的位置哈希

如何使用JavaScript或JQuery删除url中的位置哈希,javascript,html,jquery,css,Javascript,Html,Jquery,Css,这与此处的现有查询不同 当目标id位于不同页面时,我将面临删除url的问题 以下是我所做的:有两个HTML页面:index.HTML和about.HTML。我在index.html页面中显示了各种菜单信息,而不是为每个菜单项显示单独的页面,为了在单击时删除url,我分别尝试了以下几行 history.pushState('', document.title, window.location.pathname); var target = $(this.target); 然而,url并不仅仅显

这与此处的现有查询不同

当目标id位于不同页面时,我将面临删除url的问题

以下是我所做的:有两个HTML页面:index.HTML和about.HTML。我在index.html页面中显示了各种菜单信息,而不是为每个菜单项显示单独的页面,为了在单击时删除url,我分别尝试了以下几行

history.pushState('', document.title, window.location.pathname);

var target = $(this.target);

然而,url并不仅仅显示在index.html页面中。但是,当单击about.html页面中的菜单项时,url仍然可见,因为url位于index.html中。即使目标id位于不同的页面中,您也可以帮助我删除url。

如果我理解正确,您有两个具有相同导航的页面,其中包括具有哈希值的锚,如:target。但是您没有锚在两个页面上引用的元素,因此哈希在没有锚的页面上没有用处,例如:

如果是这样的话,下面的代码片段可能会有所帮助。它从location对象读取哈希值,然后尝试使用该哈希选择元素。如果在页面上找不到任何元素,则会更新URL。将此脚本放在每个页面上并立即运行

var hash = location.hash;
var $targets = $(hash);
if (!$target.length) {
  history.pushState('', document.title, location.pathname);
}

您能定义获取哈希值的URL吗?我尝试时,history.pushState会删除哈希。这是什么。目标?看/这似乎验证了你的要求。它的all-around event.preventDefault可以有效避免单击,但只启动脚本Hi@HiteshKumar,当我单击about.html中的菜单项{目的地内容在index.html中}时,我看到了url