¿Cómo obtener referencia al nuevo objeto DOM después de cambiar el contenido con outsideHTML?
Tengo una división que necesito cambiar su HTML externo en un evento. El problema es que al configurar elouterHTML
No puedo hacer referencia al nuevo objeto DOM seleccionado a menos que lo vuelva a capturar explícitamente.
¿Hay alguna manera de actualizar directamente la referencia de la variable al llamarouterHTML
(en mi caso la referencia de ladiv
variable a continuación)?
$("#changeDiv").click(function(){
var div = $(this).prev();
div[0].outerHTML = `<div id="imSecondtDiv"> <p> World </p> </div>`;
console.log(div); // logs [div#imFirstDiv, prevObject: n.fn.init[1], context: button#changeDiv]
// the following line does not affect the newly added division
// since the var `div` references the old DOM object
// unless I add div = $(this).prev(); before setting the html of
// the paragraph it will not set it
div.find('p').html('Override');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="imFirstDiv"> <p> Hello </p> </div>
<button id="changeDiv" >Change Div 1</button>