2011-04-28 42 views
1

The CSS Markup Detective建议在有链接href =#时改进标记。带“#”的href,这是不好的做法?

有href =#是不好的做法或糟糕的标记?在某些情况下,尤其关于不显眼这是唯一的方法,对吧?

这是需要改进的例子:

<a href="#">Cancel</a> 
+0

你的意思 - 如,一个链接,只有一个哈希 - 或你的意思的href“与”#作为包含散列链接地址?你的主题和问题似乎不同意... – 2011-04-28 14:16:48

+0

@Dylan,增加了一个例子 – 2011-04-28 14:22:08

+0

SO使用它作为左侧的星号:'favorite' – 2011-04-28 14:23:39

回答

0

我不认为这是一个不好的做法。最后,在生产中离开它是一种不好的做法。如果您在页面内使用标签,这也是一个很好的做法。

0

我使用href =“javascript :;”如果这是必需的。使用href =“#”会将锚点视为当前页面中的一个锚点,并可能导致不希望的行为(例如,单击窗口/框架滚动到顶部点击)。

0

这不是不好的做法,它比更好。如果您想停止“跳跃”页面,请取消点击事件的传播或从onclick函数返回false。

4

这被认为是不好的做法,因为没有JavaScript没有意义。如果你只有一个#作为href的链接,那么你可能依靠JavaScript来执行该链接的交互。所以基本上,你应该做以下事情之一:

  1. 创建一个合适的URL来模仿JavaScript的行为。这样,禁用JavaScript的用户仍可以访问该功能。如果启用了JavaScript,您可以拦截点击,取消默认操作(导航到链接网址),并执行惯常的渐进增强逻辑。

  2. 如果您没有回退或无法在没有JavaScript的情况下无法使用该功能,则在页面加载时动态地使用JavaScript添加链接。这样,禁用了JavaScript的用户将无法看到无论如何都无法为他工作的链接。你可以将这个与<noscript>标签结合起来,通知用户他禁用了JavaScript,遗漏了你网站的某些功能。

相关问题