使用其中一种优先方式或优势是否有优势?
即
您可以拥有一个超链接a
,其中href
指向#
或class
的{{1}},然后是查找该id
的javascript元素on-click
事件。
您可以拥有一个包含class
或id
的简单div或span,并将javascript on-click
绑定到该元素。
我已经看过两件事。
对于使用javascript实现某些功能的rails应用程序,上下文是非常重要的。
答案 0 :(得分:4)
我认为使用<a>
标记的主要优点是默认行为(包括href
时)是浏览器光标表示链接。虽然两者都可以完成,但使用<a>
标签也更具语义性。
答案 1 :(得分:2)
构建语义标记是良好设计的主要内容。通过使用锚点来表示导航,您坚持使用specification。如果您需要偏离,那么优化的方式将是规范概述,我将确保您的更改是合理的。
偏好锚标签的一个好处是是盲人的屏幕阅读器软件将解析DOM以获得锚点以帮助用户在页面上导航。通过使用div或span,将忽略导航链接。
答案 2 :(得分:1)
这是一个HTML问题,而不是javascript。
脚本和样式链接没有上述任何功能,或至少需要大量额外工作才能支持其中任何一项功能。
答案 3 :(得分:0)
我喜欢编写实际意味着什么的代码。我通常通过使用最合适的(语义上的)元素来实现这一点。
a
元素。引用spec:链接是一个概念性构造,代表两个资源之间的连接
对于其他情况,取决于。但我通常使用button
元素
div
毫无意义,你应该为了这种目的而避免使用它们。引用spec:
强烈建议作者将div元素视为最后的元素,因为当没有其他元素适合时。
答案 4 :(得分:0)
如果它是一个仅限JavaScript的链接,那么附加它的元素并不重要,但使用<a>
会为您提供内置的链接/悬停/访问样式,同时语义正确。但是,使用实际链接的最大原因是能够在没有启用JS的情况下对浏览器进行回退。
例如,如果链接被跟踪,你可以通过ajax加载接下来10个结果的链接(如果可能的话,服务器端)。
<a id="nextByAjax" href="?next=10">Next 10</a>