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
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.
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.
.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.Respuestas:
Deberías usar
attr('name')
asídebe usar un selector de ID, si usa un selector de clase, encuentra problemas porque se devuelve una colección
fuente
$(this).attr('name');
un selector de clase$('.jobSelect').change(function() {
y no encontré problemas.Para leer una propiedad de un objeto que usa
.propertyName
o["propertyName"]
notación.Esto no es diferente para los elementos.
Si específicamente quieres usar
jQuery
métodos, entonces usarías el.prop()
método.Tenga en cuenta que los atributos y propiedades no son necesariamente los mismos.
fuente
prop()
es para propiedades booleanas comochecked
no para atributos.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.fuente
Juega con este ejemplo de jsFiddle :
HTML:
jQuery:
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 .
fuente
fuente
El método .attr () permite obtener el valor de atributo del primer elemento en un objeto jQuery:
fuente