Skip to content


esistenza di un elemento con jquery

la chiamata di funzione $(parameters) restituisce sempre un oggetto perchè vuol dire:

hey js dammi un oggetto di tipo jquery che eventualmente contiene parameters

Che è ben diverso da “hey js trasformami parameters in un oggetto jquery e ridammelo“.

quindi se a questo codice html:

<div><p>Lorem ipsum bla bla bla</p></div>

applicchiamo il jqueroso:

var tmp = $(‘span’);

l’espressione if ($tmp) {//stuffs} risulterà sempre eseguita perchè tmp è un  oggetto jquery (un array) di lunghezza nulla, quindi un sistema per rendere efficace l’espressione potrebbe essere:

if ($tmp.length>0) {//better stuffs}

Ci sono tanti altri sistemi, ad esempio prima di scoprire questo effettuavo il controllo sui valori di altri attributi con $(tmp).attr(), ma questo è più compatto e funziona sempre (dovrebbe).

Posted in development.

Tagged with , , .


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.