Respuestas:
Toma este código HTML:
<div id="mydiv">Hello World</div>
Haciendo:
$('#mydiv').html('Aloha World');
Resultará en:
<div id="mydiv">Aloha World</div>
Haciendo:
$('#mydiv').replaceWith('Aloha World');
Resultará en:
Aloha World
Entonces html () reemplaza el contenido del elemento, mientras replaceWith () reemplaza el elemento real.
replaceWith () reemplazará el elemento actual, mientras que html () simplemente reemplaza el contenido.
Tenga en cuenta que el replaceWith () en realidad no eliminará el elemento, sino que simplemente lo eliminará del DOM y se lo devolverá en la colección.
Un ejemplo para Peter: http://jsbin.com/ofirip/2
-1
y espero que esto sea útil para todos. :)
var $form = $target.closest('tr').replaceWith(html)
Resulta que $form
contiene el elemento antes del reemplazo. suspiro
Hay dos formas de usar las funciones html () y replaceWith () Jquery.
<div id="test_id">
<p>My Content</p>
</div>
1.) html () vs replaceWith ()
var html = $('#test_id p').html();
devolverá el "Mi contenido"
Pero el
var replaceWith = $('#test_id p').replaceWith();
devolverá todo el objeto DOM de
<p>My Content</p>
.
2.) html ('valor') vs replaceWith ('valor')
$('#test_id p').html('<h1>H1 content</h1>');
le dará la siguiente salida.
<div id="test_id">
<p><h1>H1 content</h1></p>
</div>
Pero el
$('#test_id p').replaceWith('<h1>H1 content</h1>');
le dará el siguiente puesto.
<div id="test_id">
<h1>H1 content</h1>
</div>
Antigua pregunta pero esto puede ayudar a alguien.
Existen algunas diferencias en cómo funcionan estas funciones en Internet Explorer y Chrome / Firefox SI su HTML no es válido.
Limpia tu HTML y funcionarán según lo documentado.
(¡No cerrar mi </center>
costo me costó la noche!)
También puede ser útil saber que .empty().append()
también se puede usar en lugar de.html()
. En el punto de referencia que se muestra a continuación, esto es más rápido, pero solo si necesita llamar a esta función muchas veces.