2009-03-05 6 views
3

JQuery ne peut pas identifier les étiquettes lorsque j'utilise la page maquette. Le code suivant:Utilisation de JQuery dans la page principale asp.net

<script type="text/javascript"> 
    $("body").append('<div id="test"><p>Hello</p></div>'); 
</script> 

fonctionne très bien dans les pages normales, mais quand le corps est dans la page principale et je mets ce même code dans la page principale - rien ne se passe!

Comment puis-je ajouter au corps de la page à partir de la page maître ASP? Y a-t-il une sorte d'astuce à cela?

Toute aide serait grandement appréciée.

Marque.

+0

Quand ce code en cours d'exécution lorsque vous l'avez placé sur la page principale? L'ajout au DOM avant qu'il ne soit complètement chargé causerait des problèmes. –

Répondre

6

Apparemment, vous avez besoin d'envelopper dans un bloc document.ready de cette façon, il se produira lorsque la page est prête. Rappelez-vous le cycle de vie de la page ASP.NET (voir here pour référence). Je pense que cela a fonctionné dans votre page de base et non dans la page maître parce que la page s'est avérée prête une fois la page de base chargée, et non une fois la page principale chargée.

<script type="text/javascript"> 
    $(function() { 
     $("body").append('<div id="test"><p>Hello</p></div>'); 
    }); 
</script> 

qui est aussi le même que

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("body").append('<div id="test"><p>Hello</p></div>'); 
    }); 
</script> 
+0

Doh. Je n'ai pas pris de café aujourd'hui. Merci Jon. –

Questions connexes