Comment puis-je sélectionner toutes les zones de texte et tous les espaces de texte, par ex :
<input type='text' />
et
<textarea></textarea>
sur une page et ont la propriété style.width="90%";
qui leur est appliqué ?
Comment puis-je sélectionner toutes les zones de texte et tous les espaces de texte, par ex :
<input type='text' />
et
<textarea></textarea>
sur une page et ont la propriété style.width="90%";
qui leur est appliqué ?
$('input[type=text], textarea').css({width: '90%'});
qui utilise les sélecteurs CSS standard, jQuery dispose également d'un ensemble de filtres pseudo-sélecteurs pour divers éléments de formulaire, par exemple :
$(':text').css({width: '90%'});
correspondra à tous les <input type="text">
éléments. Voir Documentation sur les sélecteurs pour plus d'informations.
Le sélecteur de texte ne sélectionne pas les zones de texte (du moins dans la dernière version de jQuery). Je voulais aussi ajouter quelque chose de la documentation de jQuery à propos du sélecteur :text : "Parce que :text est une extension de jQuery et ne fait pas partie de la spécification CSS, les requêtes utilisant :text ne peuvent pas profiter de l'amélioration des performances fournie par la méthode native DOM querySelectorAll(). Pour de meilleures performances dans les navigateurs modernes, utilisez plutôt [type="text"]."
Jquery plans drop sizzle en v4.0 ( blog.jquery.com/2019/04/10/jquery-3-4-0-released ). Dans cette optique, les sélecteurs spéciaux de jquery doivent être utilisés avec précaution pour éviter les problèmes de compatibilité.
Les cases de mot de passe sont également des zones de texte, donc si vous en avez besoin :
$("input[type='text'], textarea, input[type='password']").css({width: "90%"});
et bien que l'entrée des fichiers soit un peu différente, vous pouvez vouloir les inclure aussi (par exemple, pour la cohérence visuelle) :
$("input[type='text'], textarea, input[type='password'], input[type='file']").css({width: "90%"});
Pourquoi poster deux fois la même réponse ? Si les différences mineures ont quelque chose de spécial, expliquez-les !
J'apprécie personnellement de connaître le pseudo-sélecteur :input de jQuery. +1 pour m'avoir montré quelque chose de nouveau.
Il suffit d'utiliser $(":input")
Exemple : désactivation de toutes les entrées (textarea, input text, etc) :
$(":input").prop("disabled", true);
<form>
<textarea>Tetarea</textarea>
<input type="text" value="Text">
<label><input type="checkbox"> Checkbox</label>
</form>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
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.