更新
下面的代码是什么意思和做什么?它需要JavaScript才能工作?
<a href="javascript:;">Do Somthing</a>
Run Code Online (Sandbox Code Playgroud)
更新
等于下面?:
<a href="">Do Somthing</a>
Run Code Online (Sandbox Code Playgroud)
Nim*_*ous 14
使用"javascript:"作为链接的href属性的开始告诉javascript引擎使用字符串的其余部分来解释为javascript.在这种情况下,它会导致严格解释中的语法错误,因为这实际上是一个带有结束分号的空javascript行.像这样:
;
Run Code Online (Sandbox Code Playgroud)
但是,大多数浏览器不会抛出错误,因为链接上的javascript是旧语法,应尽可能避免.你可以安全地使用它作为一个什么都不做的链接,但我不推荐它.
如果你想要一个什么都不做的链接,你可以使用它:
<a href="#">Link</a>
<a href="javascript:void(0);">Link</a>
<a href="javascript:return false;">Link</a>
Run Code Online (Sandbox Code Playgroud)
使用空的href字符串将使浏览器将其解释为相对链接.不以协议或高级域或IP地址等标识符开头的URL将被视为相对链接.例如,"index.htm"域上的链接"google.com"将创建链接"google.com/index.htm".以同样的方式,href字符串""将创建链接"google.com/",因此空的href字符串将导致浏览器导航到新页面.
通常,如果您没有指定href属性,链接将不显示指针光标或将元素格式化为链接,这样您就可以将其用作"锚点"元素,您可以使用URL中的哈希字符链接到该元素.比如"http://google.com/#an_anchor"会带你到类似这样的锚点:<a id="an_anchor">This is an anchor</a>
但是,您可以使用CSS强制格式化链接,如下所示:
CSS:
a {
color: #00c;
text-decoration: underline;
cursor: pointer;
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<a>This is a link.</a>
Run Code Online (Sandbox Code Playgroud)
这是一个无操作.
另一种常见的方法是,href="#"但要求您return false在onclick事件中避免跳转到页面顶部并#在地址栏中获取.
请注意,使用和不使用JavaScript都可以使链接工作通常是一个好主意,即做一些像<a href="/whatever" onclick="dowhatever(); return false;">这样的事情,没有JavaScript的人只会以经典的方式打开页面,而使用JavaScript的人会得到你用JS做的任何好东西.
如果某些东西不能在没有JavaScript的情况下工作,即没有任何有用的href价值,请考虑不使用a标签,而是使用span具有适当风格的(cursor:pointer并且可能带下划线).
| 归档时间: |
|
| 查看次数: |
13104 次 |
| 最近记录: |