Estoy tratando de agregar un div dentro del div principal al cargar la página, funciona cuando escribo el código de esta manera:
function DivAdder() { $('#mainDiv').append('<div class="newspaper-wrapper"></div>'); } DivAdder(); window.onload = DivAdder;Pero quiero que esta función tenga un parámetro para poder pasar su nombre en lugar de escribir la cadena completa en la función .append. Escribí algo como esto, pero tengo el error del título:
function DivAdder(variable) { $('#mainDiv').append($(variable)); } DivAdder('<div class="newspaper_wrapper"></div>'); window.onload = DivAdder;Y probé esto también:
$('#mainDiv').append(variable);Pero nada pasa. Leí algo de documentación pero no tuve éxito. Agradezco la ayuda <3.
Esto se debe a que window.onload pasa un objeto Event como primer argumento. Si console.log(variable) , le dirá que es un Evento.
Debe mantener este primer argumento como un evento opcional y pasar su HTML como segundo argumento:
function DivAdder($event, html) { console.log("Event = ", $event) console.log("Adding div : " , html) $('#mainDiv').append(html); } DivAdder(null, '<div class="newspaper_wrapper">TEST</div>'); window.onload = DivAdder; // This will call DivAdder( LoadEvent ) <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="mainDiv"></div> No estoy seguro de por qué está asignando window.onload = DivAdder en primer lugar, ya que esto no agregará ningún HTML y no hará nada en absoluto. Puedes deshacerte de él por completo, solo está causando problemas.
function DivAdder(html) { console.log("Adding div : " , html) $('#mainDiv').append(html); } DivAdder('<div class="newspaper_wrapper">TEST</div>'); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div id="mainDiv"></div>