2009-12-08 6 views
0
var testdiv = '<div id="hello"><p>hiii</p> 
       <script type="text/javascript">some javascript functions</script> 
       </div>'; 
$(testdiv).appendTo(document.body); 

Après l'exécution de code ci-dessus, div qui est ajouté est le javascript manquant, i.e. tout à l'intérieur < script type = "text/javascript">jquery appendTo supprime javascript balises de script

Est-ce problème connu avec appendTo?

+0

donc la seule chose ajoutée est '

'? –

+0

Non. Il ajoute

hiii

Répondre

2

Vous devrez peut-être découper les étiquettes <script>. Cela fonctionne:

var testdiv = '<div id="hello"><p>hiii</p><scr'+'ipt type="text/javascript">console.log("buu")</scr'+'ipt></div>'; 
$(testdiv).appendTo(document.body); 
+0

Je ne suis pas sûr que je peux le faire .. puisque j'ai tout le contenu. –

0
var testdiv = '<div id="hello"><p>hiii</p><script type="text/javascript">alert(\'foo\')</script></div>'; 
$(testdiv).appendTo(document.body); 

j'ai remplacé "javascript" avec une alerte, et cela fonctionne très bien pour moi. Notez que j'ai dû échapper les guillemets que j'utilisais dans la chaîne, c'était peut-être ça.

Je suis d'accord avec jonscottclark à propos de getScript(). Il existe en effet de bien meilleurs moyens d'inclure et d'exécuter des scripts supplémentaires.

+0

merci, maintenant j'ai changé ma logique de programmation pour ce problème ... –

Questions connexes