2012-01-13 26 views
92

¿Cómo puedo obtener la propiedad del nombre del elemento HTML con jQuery?¿Cómo puedo obtener el nombre del elemento con jQuery?

+0

Algunos html o incluso un poco más de información sobre el elemento que desea el nombre nos ayudaría a darle una respuesta más específica. – Patricia

+3

Utilice '.prop()' para obtener propiedades, y '.attr()' para obtener atributos. No use '.attr()' para obtener una propiedad como todo el mundo sugiere. Estamos trabajando con JavaScript aquí, no con HTML. –

+10

Esto debe volver a abrirse. Asker debería ser recompensado por llegar al punto y no prologarse con algo como "Tengo este sitio web donde ..." – cantera

Respuesta

150

Debe utilizar attr('name') como esto

$('#yourid').attr('name') 

debe utilizar un selector de ID, si se utiliza un selector de clase se encuentra con problemas debido a una colección se devuelve

+6

Estoy obteniendo valores indefinidos cuando uso esto o .prop() – HorusKol

+1

¿Hay alguna razón para preferir attr ('nombre') sobre prop ('nombre')? – dallin

9
$('someSelectorForTheElement').attr('name'); 
+0

debe usar un selector de id, si usa un selector de clase encuentra problemas porque se devuelve una colección –

+1

Id sería más específico sí, pero sin su html y la completa falta de detalles en la pregunta, es difícil decir qué selector deberían usar. – Patricia

2
var name = $('#myElement').attr('name'); 
7

Para leer una propiedad de un objeto que usa la notación .propertyName o ["propertyName"].

Esto no es diferente para los elementos.

var name = $('#item')[0].name; 
var name = $('#item')[0]["name"]; 

Si desea específicamente para utilizar métodos jQuery, a continuación, tendrá que utilizar el método .prop().

var name = $('#item').prop('name'); 

Tenga en cuenta que los atributos y propiedades no son necesariamente los mismos.

+0

creo que 'prop()' es para propiedades booleanas como 'checked' no para los atributos –

+2

@NicolaPeluchetti:' .prop() 'es para cualquier propiedad en el elemento DOM. '.attr()' es un método muy confuso que ha cambiado su comportamiento entre diferentes lanzamientos, a veces dándole la propiedad, otras veces el atributo. De cualquier manera, hay una distinción entre los atributos y las propiedades que se deben observar mediante el uso del método adecuado. –

+2

@NicolaPeluchetti: [Aquí hay un ejemplo] (http://jsfiddle.net/u35MG/) que ilustra la distinción entre propiedades y atributos. –

0

El método .attr() permite obtener el valor del atributo del primer elemento en un objeto jQuery:

$('#myelement').attr('name'); 
1

Juega un poco con este jsFiddle example:

HTML:

<p id="foo" name="bar">Hello, world!</p> 

jQuery:

$(function() { 
    var name = $('#foo').attr('name'); 

    alert(name); 
    console.log(name); 
}); 

Este método utiliza jQuery .attr() para obtener el valor para el primer elemento en el juego completo.

Aunque no específicamente jQuery, el resultado se muestra como alert prompt y se escribe en el console del navegador.

Cuestiones relacionadas