J'utilise jQuery pour supprimer les balises html indésirables d'un champ de saisie. Cela fonctionne bien, cependant, lorsqu'un caractère spécial est entré comme des entités html telles que ™
(que je veux permettre) je reçois l'erreur suivante lors de la création DOM mouche:Caractères spéciaux interrompant la création jQuery dom à partir de la chaîne HTML
Erreur de syntaxe, expression non reconnue:.
™
L'idée est d'obtenir la chaîne html à partir du champ de texte; créer un élément DOM à partir de celui-ci; ensuite, supprimez uniquement les tags indésirables.
Des données comme: <span>My <b>company</b></span>
sont effacées à My <b>company</b>
... ce que j'attends.
Cependant, les données sont entrées comme: My <b>company</b> ™
pauses
var s = jQuery(this).find('#new-topic').val();
var $s = jQuery(s); //this is where the error occurs
var $elements = $s.find("*").not("b, strong"); //get elements that are not <b> or <strong>
for (var i = $elements.length - 1; i >= 0; i--) {
var e = $elements[i];
jQuery(e).replaceWith(e.innerHTML);
}
var finalInput = $s.html();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="new-topic" type="text">
Y at-il de toute façon à permettre des caractères spéciaux dans ce cas?