Après le paramétrage, la case n'est pas cochée. Je l'ai cochée avec le débogage Chrome. Il y a bien un attribut coché dans la case à cocher, et la valeur est cochée, mais la page. l'affichage est toujours désélectionné
La différence entre les attributs et les propriétés est importante dans certaines situations. Avant jQuery 1.6, la méthode .attr() renvoyait la valeur de la propriété lors de la prise de la valeur de certains attributs, ce qui conduisait à des résultats incohérents. À partir de jQuery 1.6, la méthode .prop() renvoie la valeur de la propriété et la méthode .attr() renvoie la valeur des attributs.
Par exemple, selectedIndex, tagName, nodeName, nodeType,ownerDocument, defaultChecked et defaultSelected doivent être récupérés ou attribués à l'aide de la méthode .prop(). Avant jQuery 1.6, ces attributs étaient obtenus à l'aide de la méthode .attr(), mais ce n'était pas l'attribut attr de l'élément. Ils n'ont pas d'attributs correspondants, seulement des propriétés.
Par exemple, considérons un élément DOM défini dans la balise HTML , et supposons qu'il s'agit d'une variable JavaScript nommée elem :
elem.checked true (Boolean) changera le statut de la case à cocher $(elem).prop("checked") true (Boolean) changera le statut de la case à cocher elem.getAttribute(" checked ") "checked" (String) L'état initial de la case à cocher qui ne changera pas ; $(elem).attr("checked") (1.6) "checked" (String) L'état initial de la vérification case qui ne changera pas État initial $(elem).attr("checked") (1.6.1 ) "checked" (String) changera l'état de la case à cocher $(elem).attr( "checked") ( pré-1.6) true (Booléen) changera l'état de la case à cocher Selon la spécification du formulaire W3C, l'attribut vérifié est un attribut booléen, ce qui signifie que tant que l'attribut existe, même si il n'a aucune valeur ou est une chaîne de caractères nulle, la propriété correspondant à cet attribut est vraie. La méthode recommandée suivante est compatible avec les navigateurs et détermine si l'attribut coché de l'élément checkbox est "true" :
if ( elem.checked ) if ( $(elem).prop("checked") ) if ( $(elem).is(":checked " ) )
Si vous utilisez jQuery 1.6, le code if ( $(elem).attr("checked") ), obtiendra un attribut (attribut), qui ne change pas si la case à cocher est vérifié et sélectionné. Il est uniquement utilisé pour stocker la valeur initiale de la propriété par défaut ou sélectionnée. Afin de maintenir la compatibilité ascendante, la méthode .attr() à partir de jQuery 1.6.1 mettra à jour l'attribut de propriété en plus de renvoyer la valeur de l'attribut, de sorte que l'attribut booléen (attribut booléen) n'a pas besoin de modifier sa valeur via .prop (). Il est recommandé d'utiliser l'une des méthodes ci-dessus pour obtenir la valeur de vérifié.
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn