Quelle est la différence entre les fonctions replaceWith () et html () de jQuery lorsque HTML est passé en paramètre?
Quelle est la différence entre les fonctions replaceWith () et html () de jQuery lorsque HTML est passé en paramètre?
Réponses:
Prenez ce code HTML:
<div id="mydiv">Hello World</div>
Faire:
$('#mydiv').html('Aloha World');
Aura pour résultat:
<div id="mydiv">Aloha World</div>
Faire:
$('#mydiv').replaceWith('Aloha World');
Aura pour résultat:
Aloha World
Ainsi, html () remplace le contenu de l'élément, tandis que replaceWith () remplace l'élément réel.
replaceWith () remplacera l'élément actuel, tandis que html () remplacera simplement le contenu.
Notez que replaceWith () ne supprimera pas réellement l'élément mais le supprimera simplement du DOM et vous le renverra dans la collection.
Un exemple pour Peter: http://jsbin.com/ofirip/2
-1
et j'espère que cela sera utile pour tous. :)
var $form = $target.closest('tr').replaceWith(html)
il s'avère qu'il $form
contient l'élément avant le remplacement. soupir
Il existe deux façons d'utiliser les fonctions Jquery html () et replaceWith ().
<div id="test_id">
<p>My Content</p>
</div>
1.) html () vs replaceWith ()
var html = $('#test_id p').html();
renverra le "Mon contenu"
Mais le
var replaceWith = $('#test_id p').replaceWith();
renverra tout l'objet DOM de
<p>My Content</p>
.
2.) html ('valeur') vs replaceWith ('valeur')
$('#test_id p').html('<h1>H1 content</h1>');
vous donnera les résultats suivants.
<div id="test_id">
<p><h1>H1 content</h1></p>
</div>
Mais le
$('#test_id p').replaceWith('<h1>H1 content</h1>');
vous donnera les résultats suivants.
<div id="test_id">
<h1>H1 content</h1>
</div>
Ancienne question mais cela peut aider quelqu'un.
Il existe quelques différences dans la façon dont ces fonctions fonctionnent dans Internet Explorer et Chrome / Firefox SI votre code HTML n'est pas valide.
Nettoyez votre HTML et ils fonctionneront comme documenté.
(Ne pas fermer </center>
ma soirée m'a coûté ma soirée!)
Il peut également être utile de savoir qui .empty().append()
peut également être utilisé à la place de .html()
. Dans le benchmark illustré ci-dessous, c'est plus rapide, mais seulement si vous devez appeler cette fonction plusieurs fois.