Estoy trabajando en un sitio que está utilizando un oyente para que el hash muestre y oculte los DIV de contenido y para desplazarse al ancla con nombre del mismo nombre.Anclaje designado (A) con NAME igual que un conflicto de ID DIV
Estaba teniendo un problema extraño en el que, en lugar de desplazarse hacia el ancla, se desplazaba al DIV con el ID igual que el nombre del ancla.
Una vez que cambié el ID de DIV a algo diferente, el comportamiento fue el esperado.
Parece que no encuentro ninguna documentación sobre esto y me preguntaba si esto es un comportamiento documentado.
código que funciona:
<a name="top">top</a>
<p id="bottomx" style="height: 1800px;">
<a href="#top">top</a>
<a href="#bottom">bottom</a>
<br>
</p>
<a name="bottom">bottom</a>
no funciona como se esperaba:
<a name="top">top</a>
<p id="bottom" style="height: 1800px;">
<a href="#top">top</a>
<a href="#bottom">bottom</a>
<br>
</p>
<a name="bottom">bottom</a>
En el segundo ejemplo, sería desplazarse hasta la P llamado "fondo". Del mismo modo, si hago una DIV en la parte inferior de la página con una ID de "abajo" y presiono page.html # abajo, se desplaza hacia abajo a esa DIV.
Parece confuso. ¿Una idea de por qué esto está funcionando de esta manera? Mismo comportamiento en Safari y FF.
Interesante: me está costando encontrar esto en la especificación de HTML5. –
Si encuentra esto en [HTML4 spec] (http://www.w3.org/TR/html401/struct/links.html#h-12.2.3): * "Los atributos' id' y 'name' comparten el mismo espacio de nombre. Esto significa que no pueden definir un ancla con el mismo nombre en el mismo documento. "*. Supongo que esto luego se redefinió en la especificación HTML5 para considerar los navegadores de comportamiento común implementados. –