jQuery
jQuery
• Browsere
• Librării
• jQuery
• DOM
• Evenimente
• Animaţii
• Ajax
Mihai Oaida <mihai.oaida@gmail.com> 01
jQuery
Browsere
function returnTarget(e){
Firefox var targ;
if (!e) var e = window.event;
IE 6 | 7 if (e.target) targ = e.target;
else if (e.srcElement) targ = e.srcElement;
Opera
if (targ.nodeType == 3) //defeat Safari bug
Safari targ = targ.parentNode;
return targ;
}
elem.onclick=function(e){
elem=returnTarget(e)
}
http://infoeducatie.ro/order.js
Mihai Oaida <mihai.oaida@gmail.com> 02
jQuery
Librării javaScript
• Te concentrezi mai mult pe funcţionalitate şi
mai puţin pe buguri şi hack-uri
• Lucrurile se fac mai repede
• Este mai simplu de garantat funcţionalitatea
cross browser
Mihai Oaida <mihai.oaida@gmail.com> 03
jQuery
jQuery
jQuery.com
John Resig – Ian 2006
Licenţă duală MIT si GNU
Avantaje
Dom query – (css 1 – 3 ,xpath)
Inlănţuirea obiectelor
Mărime mică 15Kb (Comprimată)
Cross browser IE 6.0+, FF 2+, Safari 2.0+, Opera 9.0+
Mihai Oaida <mihai.oaida@gmail.com> 05
jQuery
De ce jQuery?
• Poate fi folosită cu alte librării
• Codul pur javaScript funcţionează
• Scris sa fie intuitiv (write less do more)
• Documentată bine + exemple
• Multe plugin-uri, documentate
• Multe tutoriale
• Se învaţă usor Google
• Usor extensibilă
Amazon
• Unobtrusive javascript Digg
Mihai Oaida <mihai.oaida@gmail.com> 06
jQuery
jQuery – funcţii de bază
$('') – returnează obiecte jQuery
jQuery.fn.extend – pluginuri
jQuery.noConflict() – foloseşte jQuery în loc de $
Majoritatea operaţiunilor
1 găseşte elemente
2 aplică/scoate stiluri, handlere,etc
Mihai Oaida <mihai.oaida@gmail.com> 07
jQuery
DOM - Selectori
$('#nr') - id
$('.item') - clasă
$('a') - element
$('span,p') - elemente
$('*') - toate elementele
$('li a') - descendent indirect
$('li > a') - descendent direct
$('a:first')- prima ancoră
$('td:even')- poziţii pare
$('a:eq(4)')- a 4-a ancoră
Mihai Oaida <mihai.oaida@gmail.com> 08
jQuery
DOM - Manipulare
.html()
.text()
$('a').append('</b>').prepend('<b>')
- wrap la conţinut
$('a').before('<p>').after('</p>')
- wrap la elemente
$('a').wrap('<div></div>')
Mihai Oaida <mihai.oaida@gmail.com> 13
jQuery
DOM - Altele
Q: Cum se accesează elementul DOM dintr-un
obiect jQuery?
R: $('#mainMenu').get(0)
document.getElementByid('mainMenu')
Mihai Oaida <mihai.oaida@gmail.com> 15