2010-06-28 6 views
1

droite je suis en train d'insérer du code HTML de base avant un div comme celui-ciInsérer html via .avant() jquery

<script>$("div#header").before("<div class="test">test</div>");</script> 

Cependant rien ne semble, mais lorsque je tente l'exemple jquery

<script>$("p").before("<b>Hello</b>");</script> 

cela fonctionne, ce que je fais mal?

Merci

+3

La coloration syntaxique dans votre question devrait vous donner un indice. – ceejayoz

Répondre

3

Vous devez escape les guillemets dans la chaîne littérale comme ceci:

"<div class=\"test\">test</div>" 

En outre, toutes les manipulations DOM doit se produire après le navigateur a terminé l'analyse du document HTML (aussi appelé "préparer le DOM"). Le navigateur déclenche l'événement "load" pour document lorsque "DOM est prêt".

En jQuery, vous écrivez un rappel pour « DOM prêt » comme:

$(document).ready(function() { 
    $("div#header").before("<div class=\"test\">test</div>"); 
}); 
1

Si vous utilisez exactement ce code, vous devriez obtenir une erreur JavaScript en raison de la chaîne non terminée. Essayez ceci:

$('#header').before('<div class="test">test</div>');