2013-02-27 4 views
0

J'ai un div avec un paragraphe:Mise à jour du texte p sans rafraîchir la page

<div id="id1"><span></span><p id="id-text">Starting text</p></div> 

Maintenant, lorsque le contact est fait avec un serveur (via ajax), la fonction suivante est appelée:

<script type="text/javascript"> 
var fun = function (serverIsOk) { 
     $('#id-text').innerHTML = serverIsOk ? 'Server ok text' : 'Starting text'; 
     $('#id1').show();   
}; 
</script> 

Le La fonction est appelée, mais pour une raison inconnue, le texte n'est pas mis à jour. Des idées?

Répondre

1

Utilisez .text() ou .html(),

var response = serverIsOk ? 'Server ok text' : 'Starting text'; 
$('#id-text').text(response); 

OU

var response = serverIsOk ? 'Server ok text' : 'Starting text'; 
$('#id-text').html(response); 
+0

génial, merci! – Mystogan

2

Il n'y a pas de propriété innerHTML dans l'objet jQuery, utilisez html() méthode à la place:

$("#id-text").html(serverIsOk ? "Server ok text" : "Starting text"); 
2

.innerHTML est pas de propriété qui obtient par des objets abstraire jQuery, ni jQuery. Vous devez soit utiliser la fonction .html() ou accéder au underlaying noeud DOM comme

$('#id-text')[ 0 ].innerHTML = serverIsOk ? 'Server ok text' : 'Starting text'; 

On peut aussi utiliser jQuerys .html() méthode comme

$('#id-text').html(serverIsOk ? 'Server ok text' : 'Starting text'); 
2

utilisation

$('#id-text')[0].innerHTML = 

ou

$('#id-text').html() 
Questions connexes