JavaScript中的链接样式按钮--不同的选项

JavaScript中的链接样式按钮--不同的选项,javascript,jquery,html,css,Javascript,Jquery,Html,Css,两者之间有什么区别吗 <a href="javascript:;"></a> 及 ? 我希望有一个链接样式的按钮,只需在单击时调用一些JS函数,因此我执行以下操作: $('<a>', { 'href': 'javascript:;', text: 'Click me', click: doStuff }); $(“”{ 'href':'javascript:;', 文本:“单击我”, 单击:doStuff });

两者之间有什么区别吗

<a href="javascript:;"></a>


?

我希望有一个链接样式的按钮,只需在单击时调用一些JS函数,因此我执行以下操作:

  $('<a>', {
    'href': 'javascript:;',
    text: 'Click me',
    click: doStuff
  });
$(“”{
'href':'javascript:;',
文本:“单击我”,
单击:doStuff
});

我知道可以通过
按钮
标签和CSS来实现,但我认为这是一个更简单的解决方案。

没有功能上的区别,没有,两者在单击时都不会起任何作用(除了触发您在它们上的任何单击处理程序)。下面的
javascript:
伪协议必须是有效的javascript<代码>
void(0)
都是有效的JavaScript

顺便说一句,我可以省略javascript协议吗

href
的内容应为URL。如果不使用
javascript伪协议,您需要使用其他东西



我要指出的是,您还有其他选择,包括根本不使用
javascript:
伪协议(使用
button type=“button”
、使用
span
、使用
href=“#fragment”
以及理想情况下使这些片段有意义,等等),但这不是您所要求的

虽然在事件处理程序中使用
href=“#”
和调用
preventDefault()
会更具语义性,但结果没有差异。保持网页整洁,使用正确的元素,并按照您希望的外观设计网页样式。不要使用非语义快捷方式。创建元素时绑定单击操作,根本不需要
javascript
协议。@David Thomas我认为
a
需要
href
属性tags@FrozenHeart:,但其含义和(在标准浏览器上)
a
元素的行为根据其是否存在而变化。从链接中:“如果
a
元素具有
href
属性,则它表示超链接(超文本锚定)根据其内容进行标记。如果
a
元素没有
href
属性,那么该元素表示一个占位符,如果链接是相关的,则该占位符可能放置在该位置,仅由元素的内容组成。“顺便说一句,我可以省略
javascript
协议吗?
  $('<a>', {
    'href': 'javascript:;',
    text: 'Click me',
    click: doStuff
  });