有两种方法可以跳转到HTML中的片段标识符吗?
  我一直认为指定片段标识符的标准方法是通过<a name="foo"></a> 。 
<a href="#foo">go to foo</a>
<a name="foo"></a>                        <!-- obsolete method, it seems -->
<p>some content under that anchor with name</p>
  但似乎这是旧的方式,而新的方式是使用一个id ,就像这样: 
<a href="#bar">go to bar</a>
<p id="bar">some content under that p with id</p>
  实际上,W3C验证器说这个name已经过时了<a>元素。  那么有两种方法可以跳转到片段标识符,但其中一个是过时的吗?  (这是什么时候发生的?) 
  (还有其他关于id和name之间的区别的问题,但这是关于片段标识符的) 
那么有两种方法可以跳转到片段标识符,但其中一个是过时的吗?
有两种方法可以识别片段。
(也有两种方法可以跳转到一个,因为您可以使用URL或写一堆JavaScript来滚动页面)。
那是什么时候发生的?
  id是在1996年HTML 4推出时推出的。  它有效地过滤了锚的name属性。 
  name在2014年被HTML5正式废弃了(或者在某些日子我不打算试图弄清楚的Living HTML中)。 
回答你的问题:是的,有两种方法可以识别一个片段,一个是过时的。
什么是片段标识符?
使用JS的片段标识符如下。
location.replace('#middle');
  是的,有两种方法可以跳转到一个片段标识符,并且都不是过时的(除了a元素)。 
  这适用于所有HTML 5个元素比其他规则a (因为在a没有name的HTML5属性)。 
  所以很快,它就已经作为元素的片段标识符而不再是标识name属性,因为它是自HTML4以来属性被删除a元素。 
  从HTML5访问fragment流程规范: 
上一篇: Are there two ways to jump to a fragment identifier in HTML?
