jQuery - Utiliser des caractères spéciaux dans les noms des sélecteurs
Si vous tentez d'utiliser certains caractères spéciaux en jQuery, par exemple dans vos noms de sélecteur, cela engendrera une erreur.
Exemple, le code suivant ...
$("#test=").attr("id");
... produira une erreur comme celle-ci :
Uncaught DOMException: Failed to execute '$' on 'CommandLineAPI': '#test=' is not a valid selector.
at <anonymous>:1:1
En effet, jQuery interdit un certain nombre de caractères dans le nom des sélecteurs :
#;&,.+*~':"!^$[]()=>|/
Heureusement, il est possible de passer outre. Pour cela, il suffit simplement de les échapper en utilisant un double backslash.
Pour vous faciliter la tâche, voici une regex que vous pourrez utiliser :
/([ #;&,.+*~\':"!^$[\]()=>|\/@])/
Ainsi, pour rendre fonctionnel l'exemple précédent, on utilisera le code suivant :
$("#test=".replace(/([ #;&,.+*~\':"!^$[\]()=>|\/@])/g,'\\$1')).attr("id");
9 avril 2018 - Wakonda - jQuery
Rechercher
Tags
Articles récents
- Quel est le but de l'attribut "role" en HTML ?
- Changer la couleur de l'espace réservé (placeholder)
- Attention à cet email d’arnaque !
- Supprimer un fichier d'un référentiel Git sans le supprimer du système de fichiers local
- JS - Récupérer le dernier élément d'un tableau
- JS - Prévisualiser une image avec son upload
- PHP - Convertir une chaîne de caractères en un booléen
- PHP : Vérifier si une session a déjà été démarrée
- Créer un APK ou un AAB en ligne de commandes
- L'opérateur !! en Javascript