Javascript 创建链接而不实际将整个链接放入<;a>;标签

Javascript 创建链接而不实际将整个链接放入<;a>;标签,javascript,php,jquery,Javascript,Php,Jquery,我一直在想其他网站是如何做导航链接的。 像我这样的大多数初学者所做的就是将整个链接放在标签中 <a href="www.example.com/news.html">News</a> 或者像这样: <a href="news.html">News</a> 但我最近看到了很多这样做的网站: <a href="/news.html">News</a>

我一直在想其他网站是如何做导航链接的。 像我这样的大多数初学者所做的就是将整个链接放在标签中

<a href="www.example.com/news.html">News</a>

或者像这样:

<a href="news.html">News</a>

但我最近看到了很多这样做的网站:

<a href="/news.html">News</a> 

然后浏览器地址栏显示如下

首先我想知道这个方法叫什么?这样做的好处是什么。最后,它实际上是如何工作的

我想研究一下,但我不知道在谷歌上输入什么。我确实尝试了很多我能想到的与此相关的关键字,但没有任何一个能接近我所寻找的

最佳实践(对我来说?)是第一个,你需要为最可读的代码编写所有URL

如果你在同一个域名上,第一个和第三个链接是相同的

第二个不同,如果你在www.example.com/index.html上,你将进入www.example.com/news.html。。 但是如果您在www.example.com/categoy/index.html上,您将被重定向到www.example.com/categoy/news.html,而不是根目录


但我不明白你为什么要谈论/news/directory?

这与HTML有关,而不是JavaScript。您的第一个代码段使用绝对路径。后两个使用相对路径。有关更多信息,请阅读以下内容:

相对URL可能会得到一些结果

  • news.html
    将相对于当前位置导航
  • /news.html
    将相对于根域名进行导航
例如,如果您的当前位置是
http://example.com/sub/

href=“news.html”
将让您访问
http://example.com/sub/news.html

但是

href=“/news.html”
将让您访问
http://example.com/news.html


另请参见有4种基本链接类型:

自链接:
href=“”
。这是“链接到你自己”的简写形式。您将看到它用于页面内锚定,例如
href=“#top”
和链接

相对:
href=“news.html”
。单击此按钮将尝试在包含链接的页面所在的目录中加载
news.html
页面,因此如果您在
http://example.com/foo/bar.html
,您将尝试加载
http://example.com/foo/news.html

本地绝对值:
href=“/news.html”
。这将尝试从站点的文档根目录加载
news.html
页面。如果您在
http://example.com/foo/bar/html
,您将尝试加载
http://example.com/news.html
。前导的
/
使其成为局部绝对路径而不是相对路径


完全绝对值:
href=”http://example.com/news.html“
。一个完整的url,如果需要可以指向完全不同的站点。它可以指向与您所在的站点完全相同的站点,但本质上它是一个“去那里,不管那里在哪里”。

您显示的第二个示例将链接到当前页面的同一文件夹中的
news.html
。第三个示例将链接到web的根目录。第一个示例有一个绝对URL。第二个使用相对URL。在使用on或其他之前,先了解两者之间的区别。重复问题——我明白了,把它放在一个单独的文件夹中更好吗?例如,在主导航栏中有(Home、Latest、Genre),实际上,第一个也是相对的,因为它缺少http://。不像用户有一个www.example.com子目录,但它仍将被视为一个子目录。