Tengo una pregunta acerca de cómo funciona this.hash en enlaces de anclaje de página en jQuery.jQuery this.hash Comportamiento en enlaces de anclaje de página
Necesito procesar el atributo de hash cada vez que el usuario hace clic en ese enlace.
<a href="#foo" class="inpageLink">Click Me!<"/a>
...
...
<a id="foo"></a>
<h3>Target Location</h3>
Para el fragmento HTML anterior, cuando obtengo el atributo hash, todo funciona bien.
$('.inpageLink').click(function(){
var target = $(this.hash);
if (target.length != 0) {
alert("found target" + this.hash);
}
})
Sin embargo, cuando uso atributo de nombre en lugar de atributo de identificación para el objetivo, this.hash devuelve un objeto nulo.
<a href="#bar" class="inpageLink">Click Me!</a>
<a name="bar"></a>
<h3>Target Location</h3>
En este caso, el evento click no activa la alerta.
¿Puede alguien explicar lo que me falta aquí o si esta es la forma en que se supone que funciona?
El nombre del atributo no es el mismo que el atributo id. El nombre se usa generalmente para indicar el nombre que se debe usar para un parámetro de formulario. Aparte de eso, es bastante inútil. – jjm
@jjm: también se usa para anclajes. Dado el URL 'http: // example.com/# foo', el navegador saltará al elemento con ID' foo' o al elemento 'a' con el nombre' foo'. Ver http://www.w3.org/TR/html4/struct/links.html#h-12.2 –