Sto lavorando a un progetto che utilizza jQuery, che conosco molto più con Mootools.jQuery: è possibile assegnare un elemento DOM a una variabile per un uso futuro?
Inizierò prima con il mio codice.
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');
});
Il mio obiettivo è quello di non avere jQuery attraversare il DOM ogni volta che voglio fare qualcosa con il div #popup, così ho voluto salvarlo in una variabile da utilizzare per tutta la mia sceneggiatura.
Quando la pagina viene caricata, la console stampa l'oggetto 3 volte come mi sarei aspettato, quindi ho pensato che per ogni metodo, il fadeIn avrebbe funzionato. Ma non è così, solo
$('#popup').fadeIn('slow');
In realtà si sbiadisce nel div.
Anche se io rimuovere il mio spazio dei nomi di hash, e solo salvare l'oggetto ad una variabile globale, e fare un
var globalVariable = $('#popup');
.
.
.
globalVariable.fadeIn('slow');
Inoltre non funziona come ho pensato che sarebbe. JQuery può fare ciò che sto cercando di fare?
Grazie. Ho passato tutta la mattinata a dimenticare che il DOM non era nemmeno caricato mentre cercavo di accedere ai suoi elementi. Mi stava facendo impazzire perché pensavo che il codice avrebbe dovuto funzionare così com'è. – Braxo