在网络开发方面,我不是专家,但我很高兴学习jQuery等,并发现自己订阅了Unobtrusive JavaScript的概念.虽然上面的两个选项都没有打破"HTML中没有JavaScript"这一心态的一部分,但我想我已经挂断了"从行为中分离结构和表达".虽然我更自然地在其中放置标签并明确设置href,但我发现自己认为这是真正的行为,因此应该在JS中设置.
那是远远的,还是我不习惯呢?我的另一面看到了把它放在JS中的好处,b/c现在我有能力完全控制该链接的行为,而不必改变HTML中的任何内容.我想你会说我在众所周知的围栏上.请帮助我失望.=)
(一个注意事项:该网站大量使用JavaScript,因此关闭JS提供功能的概念并不是真正的问题,因为如果没有它,大多数网站将无法运行.)
出于多种原因,这确实太过分了.
它主要是棘手的代码,应该避免.
它不会给您的网站带来任何实际好处.
no-js没有雄辩的后备.
它对SEO有负面影响.具体来说,机器人不会运行您的脚本,因此不会看到链接,并最终不会正确索引您的网站.
可能最重要的是,这种影响会严重影响屏幕阅读器或禁用JS的用户的UX(例如,许多手机浏览器禁用JS)
最后,除非你明确需要打破模式(例如传统支持),否则你应该尽量遵循不引人注目的设计,这在你使用JavaScript创建静态结构的意义上是非常突兀的,这是用HTML做得好得多.
普通用户不会真正了解其中的差异.但是,如果您希望蜘蛛遵循它们,搜索引擎和搜索引擎优化实践将要求您使用href =""链接到您的其他页面.如果访问者使用某些屏幕阅读器或具有一些特殊的可访问性需求,则相同.其中许多人阅读源代码而不是DOM.
通常,如果要链接到页面和操作,请使用href.
如果您需要附加其他功能或不真正转到其他页面或操作,请使用javascript onclick样式,或使用jQuery附加事件.