Sono workign su un sito che utilizza un listener per l'hash per mostrare e nascondere i DIV del contenuto e scorrere fino all'ancora denominata con lo stesso nome.Nome ancoraggio (A) con NOME uguale a un conflitto ID DIV
Avevo uno strano problema in cui invece di scorrere fino all'ancora, scorreva verso il DIV con l'ID uguale al nome dell'ancora.
Dopo aver modificato l'ID DIV in qualcosa di diverso, il comportamento era quello previsto.
Non riesco a trovare alcuna documentazione su questo e mi chiedevo se questo è un comportamento documentato.
codice che funziona:
<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>
Non funziona come previsto:
<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>
Nel secondo esempio, sarebbe scorrere fino alla P denominato "fondo". Allo stesso modo, se faccio un DIV in fondo alla pagina con un ID di "bottom" e premo page.html # bottom, scorre verso il basso fino a quel DIV.
Sembra solo confusionario. Un'idea perché questo sta funzionando in questo modo? Stesso comportamento in Safari e FF.
Interessante - Sto avendo difficoltà a trovare questo nelle specifiche HTML5 del tutto. –
Se trovato questo nella [specifica HTML4] (http://www.w3.org/TR/html401/struct/links.html#h-12.2.3): * "Gli attributi' id' e 'name' condividono lo stesso spazio dei nomi, il che significa che non possono entrambi definire un'ancora con lo stesso nome nello stesso documento. "*. Presumo che questo sia stato ridefinito nelle specifiche HTML5 per considerare i browser di comportamento comuni implementati. –