J'ai désactivé les champs de saisie sur ma page Web et je souhaite les activer lorsqu'un lien est cliqué. J'ai essayé d'utiliser jQuery pour supprimer l'attribut "désactivé", mais cela n'a pas réussi.
$("#edit").click(function(event){ event.preventDefault(); $('.inputDisabled').removeAttr("disabled") });
Le problème voici que jQuery devrait utiliser la méthode prop() pour définir ou récupérer les propriétés des éléments, plutôt que d'utiliser attr() ou removeAttr(), en particulier pour les booléens des attributs comme "disabled".
$("#edit").click(function(event){ event.preventDefault(); $('.inputDisabled').prop("disabled", false); });
En utilisant prop(), nous définissons explicitement la propriété "disabled" sur false, activant les champs de saisie et permettant aux utilisateurs d'interagir avec eux.
Alors que attr() peut être utilisé pour récupérer ou modifier des attributs HTML, prop( ) est spécifiquement conçu pour gérer les propriétés des éléments. Pour les attributs booléens tels que "disabled", "checked" et "readonly", prop() fonctionne directement sur la propriété sous-jacente et garantit un comportement correct dans les navigateurs modernes.
Pré-jQuery 3.0 , removeAttr() définirait également la propriété correspondante sur false, ce qui est désormais considéré comme un comportement incorrect pour la gestion des attributs booléens. Par conséquent, utilisez toujours prop() pour activer ou désactiver des éléments avec jQuery afin d'éviter des problèmes potentiels.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!