150 votes

Comment obtenir le nom d'un élément avec jQuery ?

Comment puis-je obtenir la propriété du nom d'un élément HTML avec jQuery ?

0 votes

Un peu de html ou même un peu plus d'informations sur l'élément dont vous voulez le nom nous aiderait à vous donner une réponse plus spécifique.

4 votes

Utilice .prop() pour obtenir des propriétés, et .attr() pour obtenir des attributs. N'utilisez pas .attr() pour obtenir une propriété comme tout le monde le suggère. Nous travaillons avec JavaScript ici, pas avec des balises HTML.

12 votes

Ce dossier devrait être rouvert. Le demandeur devrait être récompensé pour être allé droit au but et ne pas avoir commencé par quelque chose comme "J'ai ce site Web où...".

251voto

Nicola Peluchetti Points 38948

Vous devez utiliser attr('name') comme ceci

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

vous devez utiliser un sélecteur d'id, si vous utilisez un sélecteur de classe vous rencontrez des problèmes car une collection est retournée

9 votes

Je n'obtiens que des valeurs non définies lorsque j'utilise ceci ou .prop().

1 votes

Y a-t-il une raison de préférer attr('nom') à prop('nom') ?

1 votes

J'ai utilisé $(this).attr('name'); sur un sélecteur de classe $('.jobSelect').change(function() { et je n'ai pas rencontré de problèmes.

16voto

squint Points 28293

Pour lire une propriété d'un objet, on utilise .propertyName o ["propertyName"] la notation.

Il en va de même pour les éléments.

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

Si vous voulez spécifiquement utiliser jQuery vous utiliserez alors les méthodes .prop() méthode.

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

Veuillez noter que les attributs et les propriétés ne sont pas nécessairement les mêmes.

0 votes

Je pense prop() est pour les propriétés booléennes comme checked pas pour les attributs

2 votes

@NicolaPeluchetti : .prop() est pour toute propriété de l'élément DOM. .attr() est une méthode très confuse qui a changé de comportement entre les différentes versions, vous donnant parfois la propriété, d'autres fois l'attribut. Quoi qu'il en soit, il existe une distinction entre les attributs et les propriétés qui doit être respectée en utilisant la méthode appropriée.

3 votes

@NicolaPeluchetti : Voici un exemple qui illustre la distinction entre les propriétés et les attributs.

10voto

Patricia Points 5221
$('someSelectorForTheElement').attr('name');

0 votes

Vous devez utiliser un sélecteur d'id, si vous utilisez un sélecteur de classe vous rencontrez des problèmes car une collection est retournée

2 votes

Id serait le plus spécifique, oui, mais sans leur html et le manque total de détails dans la question, il est difficile de dire quel sélecteur ils devraient utiliser.

8voto

rjb Points 5050

Jouez avec ceci Exemple de jsFiddle :

HTML :

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

jQuery :

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

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

Cela utilise l'outil jQuery .attr() pour obtenir la valeur du premier élément de l'ensemble apparié.

Bien qu'il ne s'agisse pas spécifiquement de jQuery, le résultat est affiché sous la forme d'un fichier de type message d'alerte et écrit dans le fichier console .

3voto

Dennis Traub Points 24186
var name = $('#myElement').attr('name');

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X