Esistono decine di framework basati su Javascript che ci offrono innumerevoli scorciatoie per i nostri script, tra questi come non citare Prototype, Scriptaculous, Moo e jQuery. Di default WordPress ha installato Prototype, che utilizza per tutte le sue funzioni interne e volendo potete utilizzare anche voi nel vostro template. Se tuttavia volete utilizzare jQuery, noterete (casualmente direi) che questo semplice script in una pagina contenente una o più immagini (tag img):
$(document).ready(function(){
alert($("img"));
}
Semplicemente vi ritorna un simpatico messaggio con scritto null. All’inizio non mi era chiaro il motivo, ma leggendo questo articolo tutto è tornato alla luce.
La spiegazione, seppure possa sembrare banale, non lo è poi tantissimo. In pratica quasi tutti i framework in JS mettono a disposizione del programmatore uno snippet per velocizzare le cose, il dollaro $. Grazie a questo snippet infatti, scrivendo:
$("img")
ci vengono ritornate tutte le immagini contenute nel documento su cui stiamo lavorando. Tuttavia in WordPress è gia attivato di default il framework Prototype, tantochè se noi vogliamo utilizzare lo snippet $ di jQuery importando la libreria, questa non ci funzionerà correttamente. Per poter quindi utilizzare jQuery con WordPress, possiamo ricorrere ad un trucco, ovvero quello di utilizzare la parola chiave jQuery anzichè $, in questo modo:
jQuery(document).ready(function(){
alert(jQuery("img"));
}
In questo modo dovrebbe tornare a funzionare tutto normalmente. Buon lavoro! ![]()
Mi chiamo Denis Billi, ho 25 anni e sono della provincia di Ravenna. Mi sono laureato nell'estate del 2008 presso la facoltà di Ingegneria Informatica dell'università di Bologna e attualmente sto seguendo i corsi per la Laurea Specialistica in Ingegneria Informatica sempre all'università di Bologna.