Prototype
E' stata una delle prime librerie di Javascript che ha abbreviato la sintassi :
document.getElementById → $
quindi per esempio
…
<p id=”pippo”>paragrafo con id pippo</p>
…
var pPippo = document.getElementById(“pippo”);
si abbrevia con
var pPippo = $(“pippo”);
se poi devo creare un elenco (array) di elementi in base al loro id. Prendiamo il codice HTML seguente :
…
<ul id=”uno”>
<li>riga a1</li>
<li>riga a2</li>
<li>riga a3</li>
<li>riga a4</li>
</ul>
...
<ul id=due”>
<li>riga b1</li>
<li>riga b2</li>
<li>riga b3</li>
<li>riga b4</li>
</ul>
…
<ul id=”tre”>
<li>riga c1</li>
<li>riga c2</li>
<li>riga c3</li>
<li>riga c4</li>
</ul>
…
allora posso utilizzare il linguaggio Javascript già visto :
var elenchiArray = [];
elenchiArray[0] = document.getElementById(“uno”);
elenchiArray[1] = document.getElementById(“due”);
elenchiArray[2] = document.getElementById(“tre”);
abbreviato diventa :
var elenchiArray = $(“uno”,”due”,”tre”);
Poi ci sono le seguenti funzioni :
addClassName(element, className)
aggiunge una classe CSS a un elemento.
Es.
<
div
id
=
"pippo"
class
=
"pluto minnie"
></
div
>
$(
'
pippo
'
).addClassName(
'
titto
'
)
$(
'
pippo
'
).className
// -> '
pluto
minnie
titto
'
//
con la riga sotto visualizzo le classi abbinate all'elemento
$(
'
pippo
'
).classNames()
// -> ['
pluto
', '
minnie
', '
titto
']
hasClassName(element, className)
restituisce un valore booleano, serve per sapere se l'elemento è abbinato alla classe specificata.
Es.
<
div
id
=
"pippo"
class
=
"pluto minnie titto"
></
div
>
$(
'
pippo
'
).hasClassName(
div,
'
minnie
'
);
// -> true
$(
'
pippo
'
).hasClassName(
div,
'
totti
'
);
// -> false
removeClassName(element, className)
cancella la classe o una delle classi abbinate all'elemento specificato.
Es.
<
div
id
=
"pippo"
class
=
"pluto minnie titto"
></
div
>
$(
'
pippo
'
).removeClassName(
div,
'
minnie
'
);
// -> HTML Element
//con la riga sotto visualizzo le classi abbinate all'elemento$(
'
pippo
'
).classNames();
// -> ['
pluto
', '
titto
']
altre classi le trovate all'indirizzo :
http://prototypejs.org/doc/1.6.0/element.html