Comment puis-je obtenir la propriété du nom d'un élément HTML avec jQuery ?
Je n'obtiens que des valeurs non définies lorsque j'utilise ceci ou .prop().
Comment puis-je obtenir la propriété du nom d'un élément HTML avec jQuery ?
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.
@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.
@NicolaPeluchetti : Voici un exemple qui illustre la distinction entre les propriétés et les attributs.
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
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 .
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.
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ù...".
0 votes
@cantera25 : merci de le signaler