Existe-t-il un moyen de convertir le HTML en texte normal sans l'écrire dans un sélecteur avec Jquery?
Je comprends tellement loin que dans Jquery, html() de la fonction, nous pouvons convertir HTML en texte, par exemple,
$("#myDiv").html(result);
convertit le "résultat" (qui est le code html) dans un texte normal et l'afficher dans myDiv.
Maintenant, ma question est, est-il une manière que je peux simplement de convertir le html et le mettre dans une variable?
par exemple:
var temp;
temp = html(result);
quelque chose comme ceci, bien sûr, cela ne fonctionne pas, mais comment puis-je mettre de la transformée en une variable sans l'écrire sur l'écran? Depuis que je suis à la vérification de l'converti dans une boucle, de la pensée, il est tout à fait et un gaspillage de ressources si continuer à écrire à l'écran pour chaque boucle.
Edit:
Désolé pour la confusion, par exemple, si le résultat est " <p>abc</p> "
puis $(#mydiv).html(result)
fait mydiv affichage "abc"
qui "convertit" html en texte normal en supprimant le <p>
balises. Alors, comment puis-je mettre "abc"
dans une variable sans faire quelque chose comme var temp=$(#mydiv).text()
?
source d'informationauteur eastboundr
Vous devez vous connecter pour publier un commentaire.
Non, le
html
méthode ne fonctionne pas code HTML dans le texte, il s'avère code HTML dans des éléments du DOM. Le navigateur va analyser le code HTML et de créer des éléments.Vous n'avez pas à mettre le code HTML dans la page de l'avoir analysé dans les éléments, vous pouvez le faire dans un élément indépendant:
Vous avez maintenant un objet jQuery qui contient un
div
élément qui a les éléments de l'analyse de code HTML, comme des enfants. Ou:Vous avez maintenant un objet jQuery qui contient les éléments de l'analyse de code HTML.
Vous pouvez tout simplement vous dépouiller de toutes les balises HTML:
Pourquoi ne pas utiliser
.text()
vous pouvez essayer:
Mais la manière avec modification de chaîne avec expression régulière est plus simple, car il n'utilise pas de DOM traversée.
Vous pouvez remplacer le html à la chaîne de texte avec des regexp comme dans la réponse de l'utilisateur
Crozin
.P. S.
Aussi, vous pouvez, comme lorsque
<br>
est de la remplacer par un saut de ligne-symboles:Ici n'est pas-jQuery solution:
Fonctionne très bien sous IE ≥9.
var temp = $(your_selector).html();
la variable temp est une chaîne de caractères contenant le code HTML
$("#myDiv").html(result);
est pas la mise en forme de texte dans le code html. Vous pouvez utiliser.html()
de faire quelques choses.si vous dites
$("#myDiv").html();
où vous n'êtes pas en passant en paramètres à la " html()' de la fonction, alors vous êtes "OBTENIR le code html qui se trouve actuellement à cet élément div.donc on peut le dire,
si vous passez un paramètre avec votre
.html()
appel, vous serez en paramètre le code html de ce qui est stocké à l'intérieur de la variable ou de la chaîne que vous avez pass. Par exempleQui laissera votre dom qui ressemble à ceci...