link href="#"做什么?

13 浏览
0 Comments

link href="#"做什么?

这个问题已经有答案了:
JavaScript链接应该使用哪个“href”值,"#"还是"javascript:void(0)"?

我在一个网站的源代码中发现了下面的代码片段。


这是什么作用?

0
0 Comments

这实际上除了停留在同一页外,什么都不做。

这来自《HTML Anchors》(锚点),可以跳转到页面的某个部分(更具体地说,是跳转到一个id)。

通常用于表示应该在此处引入某个链接,因为它没有实际效果。当您编写网站时,通常很有用显示链接,即使链接所指向的页面尚不存在。这通常被认为是一个临时解决方案。

正如RyanTom的答案所指出的那样,它也可以用于动态加载CSS文件。

0
0 Comments

如果没有base元素,它除了消耗浏览器的一点资源之外,不会有任何作用。根据URL规范,#作为URL是一个引用当前基础URL下文档的开头。由于标签必须在HTML文档中,它会失败(可能是因为文档使用HTML媒体类型或浏览器试图用CSS解析器解析HTML失败)。

如果你使用一个base标签,将基础URL设置为引用CSS文档的URL,它在技术上可以工作,比如:


Demo


Hello world

这实际上相当不寻常,而且它会有效阻止你在文档中使用相对URL。因此,这只是一种理论上的可能性,而不是真正的情况。

可能href="#"只是一个占位符,在这里会被JavaScript代码或其他东西覆盖。这种写法有几个坏处,最好省略href属性(尽管在HTML5中这是不合法的),并动态插入一个。

0