Est-il un php echo/print équivalent en javascript
Dire que je veux imprimer html à partir de l'intérieur d'une balise de script.
Une source comme ceci
<div>foo</div>
<script>
print('<div>Print this after the script tag</div>');
</script>
<div>bar</div>
devrait ressembler à quelque chose comme ceci dans le navigateur, une fois le script exécuté
<div>foo</div>
<script>
print('<div>Print this after the script tag</div>');
</script>
<div>Print this after the script tag</div>
<div>bar</div>
Je pourrais écrire mon propre code pour cet objet, mais depuis ce qui me semble une très simple problème, je devine que ce soit j'ai raté quelque chose ou ma pensée est erronée, d'une certaine façon et l'impression est laissée intentionnellement.
Aussi, en quelque sorte liée: je voudrais savoir si un script est (ou peut être fait au courant des balises de script qui l'entourent. Avec cette information, il serait beaucoup plus facile de trouver la position de l'imprimé code html pour être injecté dans, en supposant qu'il n'est pas très déconseillé.
À préciser: je n'ai pas besoin de vous pour écrire une fonction d'impression pour moi. J'ai seulement besoin de savoir si une méthode native pour réaliser cela existe et je l'ai raté ou sinon la raison, il ne devrait pas être fait.
MODIFIER
J'ai réalisé que je ne pense pas que la question par la.
J'ai eu mes faits et maintenant presque tout semble fonctionner. Je devrais avez été mentionné que la fonction d'impression a été nécessaire à l'intérieur de modèles - je suis en train de travailler sur un moteur de template expérience. J'ai réussi à en sortir par la séparation des scripts à partir de html et de la concaténation de la scission html sans scripts avec la sortie de script.
Que j'ai écrit le code, j'ai remarqué que tout n'irais pas lisses en raison de la nature asynchrone de js. Je suppose que je m'attendais à être en mesure de faire toute sorte de js de la magie dans les modèles, tout comme j'ai pu en php. Semble être en fait le soutien async code dans un infaillible de manière à l'intérieur de modèles exigera plus de pensée.
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser
document.write()
Noter que cela ne fonctionne que si vous êtes dans le processus de rédaction du document. Une fois que le document a été rendue, l'appel de
document.write()
sera clairement le document et de commencer à écrire un nouveau. Veuillez vous référer à d'autres réponses à cette question si c'est votre cas d'utilisation.document.write
écrit en elle. Une fois que c'est fini d'être écrite,document.write
crée un nouvelles document et écrit dans que. (Si vous pensez à ce sujet, il est logique quedocument.write
ne peut pas écrire dans un document complet. Le PHP équivalent serait d'appelerecho
après que le client a téléchargé la page entière et déconnecté. Bien que je l'avoue, le comportement de la création d'un nouveau document est un peu étrange; il pourrait faire plus de sens pour elle tout simplement de ne pas faire n'importe quoi.)Vous pouvez utiliser document.écrire, cependant elle n'est pas une bonne pratique, il est possible d'effacer la totalité de la page dépend du moment où il est exécuté.
Vous devez utiliser
Element.innerHtml
comme ceci:document.getElementById('element').innerHTML = 'your changes here';
aussi des œuvres et semble plus simple pour moi (juste au cas où quelqu'un d'autre promenades dans ici à partir d'une recherche sur google comme je l'ai fait..)À l'aide de de la fenêtre.journal vous permettent d'effectuer la même action que la console.journal, mais il vérifie si le navigateur que vous utilisez a la capacité d'utiliser la console.journal d'abord, afin de ne pas d'erreur pour des raisons de compatibilité (IE 6, etc.).
F12
).<Ctrl>
+<Shift>
+<J>
de Chrome est préférable par rapport à<F12>
pour moi.Vous pouvez utiliser
qui va remplacer le script en cours d'exécution qui a appelé la fonction echo avec le texte dans le contenu de l'argument.
De w3school page sur JavaScript sortie,
Vous pouvez utiliser
document.write
ou mêmeconsole.write
(c'est bon pour le débogage).Mais votre meilleur pari et il vous donne plus de contrôle consiste à utiliser DOM pour mettre à jour la page.
ou
c'est une autre façon:
//On crée notre propre fonction en js comme echo "Hello world".
Remarque: ... raffole pour accéder à plus de paramètres dans un objet ou un tableau, pour obtenir la valeur de l'objet/tableau nous devrions itérer l'ensemble de l'objet/tableau à l'aide de boucle ou une autre méthode, mais pour qui est commun, comme ci-dessous et s est le nom que j'ai juste gardé vous pouvez écrire ce que vous voulez.
l('output text example')
après une fois la définition de
semble bien pour moi de faire un rapide hacksy JS de débogage dans le navigateur de la console.
Basé sur @Lil' Bits de réponse – merci!