2010-08-31 8 views
2

Comment pourrais-je modifier le code HTML d'une balise comme ceci:petite question au sujet jquery en direct de()

$('#someId').html('<p>foo bar</p>');

tout en utilisant la fonction en direct() ou délégué()? Juste pour clarifier, je ne veux pas que cela se produise en vol stationnaire ou en mise au point ou clic ... Je veux juste que jquery change immédiatement le code HTML à l'intérieur d'un certain tag. Fondamentalement, j'essaie de changer le logo dans le petit panneau déroulant du Mojomotor et je ne veux pas changer le logo chaque fois que je passe à une nouvelle version.

Des suggestions?

+1

Alors quand voulez-vous exactement changer le logo? Pourquoi avez-vous besoin de vivre ou de déléguer si cela ne se passe pas sur un événement? – Anurag

+0

Je ne sais pas ... mais essayer de le changer sur doc prêt ne fonctionnait pas alors j'ai pensé que je devrais utiliser live ou quelque chose comme ça. – Johnny

Répondre

4

.live() et .delegate() ne fonctionnent pas comme ça, ce que vous êtes après le fait encore par the .livequery() plugin ou simplement dans le document.ready si elle est présente sur la charge de la page, comme ceci:

$(function() { 
    $('#someId').html('<p>foo bar</p>'); 
}); 

Ou avec .livequery() si il est remplacé dynamiquement dans la page:

$('#someId').livequery(function() { 
    $(this).html('<p>foo bar</p>'); 
}); 

.live() et .delegate() travail hors de l'événement bouillonnant ... un élément juste apparaissant ne le fait pas alors qu'un click ou change, etc serait.

+0

Merci. J'ai essayé de le faire sur document prêt avec aucun résultat alors je vais essayer le plugin livequery que vous avez suggéré. – Johnny

1

Il suffit de le faire lorsque le DOM charge.

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#someId').html('<p>foo bar</p>'); 
    }); 
</script> 
+0

J'ai essayé ceci et cela n'a pas fonctionné. – Johnny

+0

Assurez-vous d'avoir inclus la bibliothèque jquery et veillez à placer la fonction ready entre les balises de script. Publiez également le code HTML de #someId et nous serons peut-être en mesure de voir pourquoi. –