Estoy trabajando en un proyecto que está usando jQuery, que estoy mucho más familiarizado con Mootools.jQuery: ¿Es posible asignar un elemento DOM a una variable para su uso posterior?
Comenzaré con mi código primero.
var customNamespace = {
status: 'closed',
popup: $('#popup'),
showPopup: function() {
// ...
}
}
$(document).ready(function(){
console.log($('#popup'));
console.log(customNamespace.popup);
console.log($(customNamespace.popup));
$('#popup').fadeIn('slow');
(customNamespace.popup).fadeIn('slow');
$(customNamespace.popup).fadeIn('slow');
});
Mi objetivo es no tener jQuery atravesar el DOM cada vez que quiero hacer algo con el div #popup, así que quería guardarlo en una variable a utilizar a lo largo de mi guión.
Cuando se carga la página, la consola imprime el objeto 3 veces como era de esperar, así que asumí que para cada método, el fadeIn simplemente funcionaría. Pero no es así, solo
$('#popup').fadeIn('slow');
En realidad se desvanece en el div.
Incluso si quito mi hash de espacio de nombres, y simplemente guardar el objeto en una variable global, y hacer un
var globalVariable = $('#popup');
.
.
.
globalVariable.fadeIn('slow');
también no funciona como pensé que lo haría. ¿Puede jQuery hacer lo que estoy tratando de hacer?
Gracias. Pasé toda la mañana olvidándome de que el DOM no estaba cargado mientras intentaba acceder a sus elementos. Me estaba volviendo loco porque pensé que el código debería haber funcionado como estaba. – Braxo