2009-12-14 5 views
2

En utilisant jQuery, quelle est la différence de performance entre l'utilisation:Quelle est la différence entre .empty(). Append() et .html()?

$('#somDiv').empty().append('text To Insert') 

et

$('#somDiv').html('text To Insert') 

?

+2

Vous continuez de modifier votre question en fonction des réponses. Quelle est votre question * réelle * finale? Comme vous l'avez écrit, pas de différence fonctionnelle. Si vous teniez à la vitesse, vous auriez dû dire quelque chose au sujet de la vitesse dans votre question. –

+8

-1 pour changer votre question racine et invalider un certain nombre de réponses. –

+4

-1 Pour sauvegarder Stefan, et parce que je m'en fiche si je perds un point. –

Répondre

6

.html remplacera le contenu de la DIV.

.append va ajouter au contenu de la DIV.

+0

Est-ce que append utilise DOM? Alors que innerHTML ne le fait pas? – AppleTrue

+2

Veuillez noter que j'ai inclus la fonction empty() pour que l'ajout soit écrasé comme .html. Est .append plus rapide que .html? – AppleTrue

+2

Ne pas répondre à la question de l'OP ... – James

0

En simples mots:

$('#somDiv').append('blabla') 

fonctionne comme ceci:

<div id='somDiv'>some text</div> 

Devient:

<div id='somDiv'>some textblabla</div> 

Et innerHTML remplace le contenu, il devient ceci:

<div id='somDiv'>blabla</div> 
+0

J'ai mis à jour mon post original pour inclure la fonction empty() afin qu'ils agissent de la même manière. – AppleTrue

+0

Ils sont exactement les mêmes en termes de résultat mais innerHTML serait probablement plus rapide sur les gros fichiers car il utilise simplement la fonction native, qui est seulement 1 appel. – EarthMind

+0

Est-ce que .append est plus rapide que .html? – AppleTrue

38

$('#somDiv').html(value) est équivalent à $('#somDiv').empty().append(value).

Source: jQuery source.

+0

J'ai mis à jour pour le rendre .html(). Maintenant, quelle est la différence? – AppleTrue

+0

@AppleTrue: Réponse mise à jour –

+0

Est-ce que .append est plus rapide que .html? – AppleTrue

0

La syntaxe correcte est

$("#somDiv").html("<span>Hello world</span>"); 
+1

J'ai mis à jour mon message original. Maintenant, quelle est la différence? (Merci) – AppleTrue

+0

Fonctionnellement, maintenant il n'y a pas de différence. –

0
difference between append() and html() in jquery 

.aapend() and .html() is the most usefull method in jQuery.But these are far different from one another, .append() add some value with the existing one.whether .html() do the same but it removes the old value 
Here is an example is given 

<ul id="test"> 
<li>test</li> 
</ul> 

Now I will use .append() to add one <li>, For that I will write 
<script type="text/javascript>" 
jQuery("#test").append("<li>test1</li>"); 
</script> 

The output of this jQuery will be 
<ul id="test"> 
<li>test</li> 
<li>test1</li> 
</ul> 

Now if I use .html() to add one <li>, For that I will write 
<script type="text/javascript>" 
jQuery("#test").html("<li>test1</li>"); 
</script> 

The output of this Script will be 
<ul id="test"> 
<li>test1</li> 
</ul> 

Here in this example .append() add one extra <li>, whether .html() removes the old one with new one. This is the main difference between .append() and .html() in Jquery `enter code here` 
0

comprendre le sens et les fonctions des extensions fournies dans jQuery.

$('#somDiv').empty().append('text To Insert') 

- Au-dessus du code effacera le contenu de la balise div id d'abord, puis ajoutera le texte à la div cible:

$('#somDiv').html('text To Insert') 

- code ci-dessus remplacer le texte de balise div avec le texte html:

Questions connexes