过去我见过使用锚点元素指定锚点的示例,以及id
或name
属性(with id taking precedence)。
但是,在可访问性/跨浏览器支持方面,我是否应该使用锚元素而不是任何其他元素?
例如,我可以使用以下标记的网址http://domain.com/page.htm#faq:
<a id="faq"></a>
<h1>Frequently Asked Questions</h1>
可以简化为:
<h1 id="faq">Frequently Asked Questions</h1>
使用第二个标记有什么害处吗?是否有一个特殊原因导致开发人员更喜欢空锚而不是将id
附加到更相关的元素上?
答案 0 :(得分:3)
在可访问性/跨浏览器支持方面,我是否应该使用锚元素而不是任何其他元素?
不,不再了。
历史上(在HTML 4之前),命名锚点是页面锚点的唯一方法。
使用第二个标记有什么害处吗?
这是推荐的方式 - 你应该怎么做。
为什么开发人员更喜欢空锚而不是将id附加到更相关的元素上,是否有特殊原因?
只缺乏学习和适应变化;)
答案 1 :(得分:0)
编写代码是可以的。使用第一个代码有两点:
历史原因。
HtmlHelpers在任何html驱动器中,如Razor。例如,我可以使用这样的东西:
public static MvcHtmlString Anchor<TModel>(this HtmlHelper<TModel> htmlHelper, string anchorId)
{
var tag = new TagBuilder("a");
tag.Attributes.Add("id", anchorId);
return MvcHtmlString.Create(tag.ToString(TagRenderMode.Normal));
}
在我的MVC项目中。