Quelle est la différence entre les deux .empty().append() et .html()?
À l'aide de jQuery, ce qui est la différence de rendement entre l'utilisation
$('#somDiv').empty().append('text To Insert')
et
$('#somDiv').html('text To Insert')
?
- Vous continuez à changer votre question en se basant sur les réponses. Quel est votre fin réelle question? Comme vous l'avez écrit, aucune différence fonctionnelle. Si vous vous souciez de la vitesse, vous devriez avoir dit quelque chose à propos de la vitesse de votre question.
- -1 pour changer la racine de votre question et d'invalider un certain nombre de réponses.
- -1 À la sauvegarde de Stefan, et parce que je n'aime pas si je perd un point.
- On peut supposer que l'
html()
est soutenu parinnerHTML
etappend()
est soutenu parappendChild()
, dont les cas, il y a des différences, notamment en ce que le navigateur doit faire et quelles informations peuvent être perdues lors de la sérialisation/deserialisation processus.
Vous devez vous connecter pour publier un commentaire.
$('#somDiv').html(value)
est équivalent à$('#somDiv').empty().append(value)
.Source: jQuery source.
.empty().append(...)
sera légèrement plus rapide depuis.html(...)
est essentiellement un wrapper pour la même chose. N'utilisez pas de.empty().append(...)
pour des raisons de rapidité, puisque vous ne l'auriez pas remarqué une différence de plusieurs milliers d'appels, et il serait difficile pour quelqu'un de lire votre code..html
car il dit qu'il accepte uniquement unhtmlString
oufunction
...cependant, il ne fait appel.empty().append()
en interne et en passant un existant jQuery ne fonctionne pas..html va remplacer le contenu de la DIV.
.append ajoute au contenu de la DIV.
différence entre
append()
ethtml()
en jQuery.append()
et.html()
sont les méthodes les plus utiles en jQuery. Mais elles sont très différentes l'une de l'autre,.append()
ajouter de la valeur à l'existant. Où.html()
faire la même chose mais il supprime l'ancienne valeur de la première.Voici un exemple:
Maintenant je vais utiliser
.append()
pour ajouter un<li>
, Pour que je vais écrire:La sortie de cette jQuery sera:
Maintenant si j'utilise
.html()
pour ajouter un<li>
, Pour que je vais écrire:La sortie de ce Script sera:
Ici dans cet exemple
.append()
ajouter un extra<li>
, si.html()
supprime l'ancien avec le nouveau. C'est la principale différence entre.append()
et.html()
en jQuery.En termes simples:
fonctionne comme ceci:
devient:
Et innerHTML remplace le contenu, de sorte qu'il devient:
La syntaxe correcte est
Comprendre le sens et les fonctions des extensions prévues en jQuery.
-- Code ci-dessus va effacer l'div id contenu de la balise d'abord, puis d'ajouter le texte à la cible div:
-- Code ci-dessus, remplacez la balise div de texte avec le texte html: