Dans une fonction $.ajax success
, j'essaie d'exécuter un délai avant de passer un autre appel. Mon document comporte un élément <DIV ID="status"></DIV>
, donc la première étape fonctionne ici très bien:Pourquoi selector.text obtient-il une valeur de fonction interne?
$("#status").text = "Refreshing";
Mais lorsque je tente d'ajouter des points à ce texte via une fonction setInterval
comme ceci:
var count = 0;
var waitingID = setInterval(waiting, 1000);
function waiting() {
if(count == 5) {
clearInterval(waitingID);
CallUpdate();
}
else {
count++;
var notice = $("#status");
notice.text(notice.text + ".");
}
}
le texte dans ce DIV
devient
fonction(valeur) {accès retour (ce, la fonction (valeur) { valeur de retour === non défini? jQuery.text (this): this.empty(). Chaque (fonction() { if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) { this.textContent = valeur; } }); }, null, value, arguments.length); }
Que se passe-t-il? Pourquoi le notice.text(notice.text + ".");
n'at-il pas simplement ajouté un .
au texte dans le DIV
?
Je crois qu'il faut une chaîne régulière, donc pourrait tout aussi bien être 'notice.text (txt + "")' – Svenskunganka
Oui, il faudrait une chaîne régulière, mais 'notice.text' n'est pas une chaîne, c'est un objet, ou plus précisément une fonction, que l'OP essaye de concaténer en une chaîne – adeneo
Oh, tire, c'est vrai. Le raccourci auquel je devais penser est 'notice.text (notice.text() +". ");'. << qui fonctionne bien – feetwet