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


130

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


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

44
Use .prop()para obtener propiedades y .attr()para obtener atributos. No lo use .attr()para obtener una propiedad como todos sugieren. Estamos trabajando con JavaScript aquí, no con el marcado HTML.

11
Esto debe ser reabierto. Asker debería ser recompensado por llegar al punto y no anteponer algo como "Tengo este sitio web donde ..."
cantera

@ cantera25: gracias por señalar esto ...
Poonam Bhatt

Respuestas:


221

Deberías usar attr('name')así

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

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


8
Solo obtengo valores indefinidos cuando uso esto o .prop ()
HorusKol

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

Utilicé $(this).attr('name');un selector de clase $('.jobSelect').change(function() {y no encontré problemas.
Ömer Un

14

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

Esto no es diferente para los elementos.

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

Si específicamente quieres usar jQuerymétodos, entonces usarías el .prop()método.

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

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


Creo que prop()es para propiedades booleanas como checkedno para atributos
Nicola Peluchetti

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 versiones, a veces dándole la propiedad, otras veces el atributo. De cualquier manera, hay una distinción entre atributos y propiedades que deben observarse utilizando el método adecuado.

3
@NicolaPeluchetti: Aquí hay un ejemplo que ilustra la distinción entre propiedades y atributos.

10
$('someSelectorForTheElement').attr('name');

debe usar un selector de identificación, si usa un selector de clase, encuentra problemas porque se devuelve una colección
Nicola Peluchetti

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

5

Juega con este ejemplo de jsFiddle :

HTML:

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

jQuery:

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

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

Esto utiliza el método .attr () de jQuery para obtener valor para el primer elemento del conjunto coincidente.

Si bien no es específicamente jQuery, el resultado se muestra como un aviso de alerta y se escribe en la consola del navegador .



0

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

$('#myelement').attr('name');
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.