joi, 20 noiembrie 2008

jQuery

Ce este jQuery? Vreo tehnologie monolitica obosita gen Java Struti? Nu. j ala vine de la javascript, q de la query.

Care este ideea?

Pai, cu el putem exploata toate elementele din pagina folosind XPath la nivel de CSS-3 compliance.

Tot cu el putem realiza aplicatii solide care sa mearga identic pe toate browserele

Tot cu el putem realiza cereri ajax in cel mai usor mod.

Acum sa va dau un exemplu de cod care ar lua 592 de linii de cod javascript pur pentru implementare:

$(‘div#wrap > td:has(div.myclass) div.inneritem a[href^=http://]’).hide();

Ce face asta? Pai, cauta un div cu id-ul wrap, vede daca are sub el un td care are la randul lui dub el un div cu clasa myclass, vede daca td-ul are un div cu o clasa inneritem, iar in acel div exista un link al carui href incepe cu http://, adica link extern si il ascunde.

In javascript, acest lucru s-ar fi realizat asa:

divwrap=getDocumentById(‘wrap’)
children_divwrap=divwrap.children();
if (td in children_divwrap) {
if (td.children(div) {
  if (div.className==’myclass’) return found_td;
}
}
if (found_td.children() in div) {
if (div.className==’inneritem’) return found_div_inneritem;
}
if (a in found_div_inneritem.children()) {
if (a.attr(‘href’).beginsWith(‘http://’)) return found_a_href_http;
}
found_a_href_http.hide();

Am scos de aici niste foreach-uri evidente, doar pentru a arata ideea de baza. Similar pentru Ajax, DOM manipulation, events, efecte, utilitare, etc.

Un comentariu:

V spunea...

bravo Vali! chiar scrii lucruri f interesante. poate reusesti sa aloci timp pt blog si dupa ce termini IE-ul sa scrii cu ce tehnologii te mai joci