2009-11-29 2 views
1

J'essaie d'ajouter du contenu à un div chaque fois que je clique sur un lien. Cependant, le texte ajouté disparaît immédiatement après avoir été ajouté. Qu'est-ce que je fais mal?Ajout à un div à l'aide de jquery

<html>                 
<head>                 
<script type="text/javascript" src="/files/jquery.js"></script>   
<script type="text/javascript">           
    $(document).ready(function() { 
     $("a").click(function() { 
     $("#questions").prepend("A question<br />"); 
     }); 
}); 

</script>                
</head>                 
<body>                 
<a href="">Add</a> 
    <p id = "questions"> </div> 
    </body>                 
    </html> 

Répondre

6

Ajoutez return false; à votre événement click, pour l'empêcher de recharger la page.

5

<a href="#">Add</a>

Vous devez avoir quelque chose dans votre "href", sinon ça va aller naviguer à la même page (au moins pour Firefox).

+1

vrai, Firefox le fait. IE navigue jusqu'à la racine du site/répertoire dans lequel vous vous trouvez. –

2

Je suis d'accord avec O.K.W

mettre également return false; Le fait de traverser une variable pour représenter le contrôle de la fonction et d'exécuter preventDefault arrêtera l'événement de clic naturel. ou

function(e){ 
e.preventDefault(); 
} 
+0

+1 preventDefault() fait du bon travail pour exprimer l'intention. –

Questions connexes