Top Banner
Getting your feet wet with jQuery Benjamin Sterling Twitter: bmsterling | AIM: thekenzoco | Skype: benjamin.sterling
30

Getting Your Feet Wet With jQuery

Nov 27, 2014

Download

Technology

Presentation on jQuery focusing on Selectors, Caching, and Traversing
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Getting Your Feet Wet With jQuery

Getting your feet wet with jQuery

Benjamin Sterling

Twitter: bmsterling | AIM: thekenzoco | Skype: benjamin.sterling

Page 2: Getting Your Feet Wet With jQuery

Why jQuery?

•DOM scripting without thinking•Cross browser support•A philosophy that makes sense•Small footprint•A great community•Everyone is doing it

Page 3: Getting Your Feet Wet With jQuery

Our Focus•Selecting•Caching•Traversing

Page 4: Getting Your Feet Wet With jQuery

Selectors

Page 5: Getting Your Feet Wet With jQuery

Basic SelectorsDo you know what CSS is? Well, that is all there is to basic selectors.

Examples:•$('.ClassName')•$('#ID')•$('HtmlElement')

Page 6: Getting Your Feet Wet With jQuery

Hierarchy Selectors•ancestor descendant •parent > child•prev + next•prev ~ siblings

Page 7: Getting Your Feet Wet With jQuery

Custom Selectors:first:last:not(selector) :even:odd:eq(index):gt(index) :lt(index):header:animated:contains(text):empty

:input:text:password:radio:checkbox:submit:image:reset:button:file

:has(selector):parent:hidden:visible:nth-child(N):first-child:last-child:only-child:enabled:disabled:checked:selected

Page 8: Getting Your Feet Wet With jQuery

Caching

Page 9: Getting Your Feet Wet With jQuery

Caching•Local storage of remote data designed to reduce network transfers.•Saving information learned during a previous operation to be used in future operations.

Page 10: Getting Your Feet Wet With jQuery

Cachingvar jqMainMenu = $('#mainmenu');

var $mainMenu = $('#mainmenu');

Page 11: Getting Your Feet Wet With jQuery

Traversing

Page 12: Getting Your Feet Wet With jQuery

Traversing•22 built in traversing methods•The ones we'll focus on

•.eq()•.is()•.hasClass()•.not()•.children()•.parent()•.parents()•.siblings()•.next()/.prev()•.end()

Page 13: Getting Your Feet Wet With jQuery

.eq(N)<ul id="nav"> <li><a href="#">Link 1</a></li> <li><a href="#">Link 2</a></li> <li><a href="#">Link 3</a></li> <li> <a href="#">Link 4</a> <ul> <li><a href="#">Sub Link 1</a></li> <li><a href="#">Sub Link 2</a></li> </ul> </li> <li> <a href="#">Link 3</a> <ul> <li><a href="#">Sub Link 3</a></li> <li><a href="#">Sub Link 4</a></li> </ul> </li></ul>

$('#nav a').eq(1); returns <a href="#">Link 2</a>

$('#nav a').eq(4) returns <a href="#">Sub Link 1</a>

Page 14: Getting Your Feet Wet With jQuery

.is(expr)<ul id="nav"> <li><a href="#">Link 1</a></li> <li><a href="#">Link 2</a></li> <li><a href="#">Link 3</a></li> <li> <a href="#">Link 4</a> <ul> <li><a href="#" class="active">Sub Link 1</a></li> <li><a href="#">Sub Link 2</a></li> </ul> </li> <li> <a href="#">Link 3</a> <ul> <li><a href="#">Sub Link 3</a></li> <li><a href="#">Sub Link 4</a></li> </ul> </li></ul>

$('#nav a').eq(1).is('a'); returns true

$('#nav a').eq(1).is(':odd'); returns false

$('#nav a').eq(1).is(':only-child'); returns false

$('#nav a').eq(4).is('.active') returns true

Page 15: Getting Your Feet Wet With jQuery

.hasClass(expr)<ul id="nav"> <li><a href="#">Link 1</a></li> <li><a href="#">Link 2</a></li> <li><a href="#">Link 3</a></li> <li> <a href="#">Link 4</a> <ul> <li><a href="#" class="active">Sub Link 1</a></li> <li><a href="#">Sub Link 2</a></li> </ul> </li> <li> <a href="#">Link 3</a> <ul> <li><a href="#">Sub Link 3</a></li> <li><a href="#">Sub Link 4</a></li> </ul> </li></ul>

$('#nav a').eq(1).hasClass('active'); returns false

$('#nav a').eq(4).hasClass('active') returns true

Page 16: Getting Your Feet Wet With jQuery

.not(expr)<ul id="nav"> <li><a href="#">Link 1</a></li> <li><a href="#">Link 2</a></li> <li><a href="#">Link 3</a></li> <li> <a href="#">Link 4</a> <ul> <li><a href="#" class="active">Sub Link 1</a></li> <li><a href="#">Sub Link 2</a></li> </ul> </li> <li> <a href="#">Link 3</a> <ul> <li><a href="#">Sub Link 3</a></li> <li><a href="#">Sub Link 4</a></li> </ul> </li></ul>

$('#nav a').eq(1).not('.active'); returns true

$('#nav a').eq(4).not('a') returns false

Page 17: Getting Your Feet Wet With jQuery

My Family DOM

Page 18: Getting Your Feet Wet With jQuery

.children(expr)<ul id="nav"> <li><a href="#">Link 1</a></li> <li><a href="#">Link 2</a></li> <li><a href="#">Link 3</a></li> <li> <a href="#">Link 4</a> <ul> <li><a href="#" class="active">Sub Link 1</a></li> <li><a href="#">Sub Link 2</a></li> </ul> </li> <li> <a href="#">Link 3</a> <ul> <li><a href="#">Sub Link 3</a></li> <li><a href="#">Sub Link 4</a></li> </ul> </li></ul>

$('#nav').children() returns ????

$('#nav').children('li') returns ????

Page 19: Getting Your Feet Wet With jQuery

.children(expr)<ul id="nav"> <li><a href="#">Link 1</a></li> <li><a href="#">Link 2</a></li> <li><a href="#">Link 3</a></li> <li> <a href="#">Link 4</a> <ul> <li><a href="#" class="active">Sub Link 1</a></li> <li><a href="#">Sub Link 2</a></li> </ul> </li> <li> <a href="#">Link 3</a> <ul> <li><a href="#">Sub Link 3</a></li> <li><a href="#">Sub Link 4</a></li> </ul> </li></ul>

$('#nav').children() returns five child LI

$('#nav').children('li') returns five child LI

Page 20: Getting Your Feet Wet With jQuery

.parent() vs .parents()

Page 21: Getting Your Feet Wet With jQuery

.parent(expr)<ul id="nav"> <li><a href="#">Link 1</a></li> <li><a href="#">Link 2</a></li> <li><a href="#">Link 3</a></li> <li> <a href="#">Link 4</a> <ul> <li><a href="#" class="active">Sub Link 1</a></li> <li><a href="#">Sub Link 2</a></li> </ul> </li> <li> <a href="#">Link 3</a> <ul> <li><a href="#">Sub Link 3</a></li> <li><a href="#">Sub Link 4</a></li> </ul> </li></ul>

$('.active').parent() returns LI

$('.active').parent().parent() returns UL

$('.active').parent().parent().parent() returns LI

$('.active').parent().parent().parent().parent() returns UL#nav

Page 22: Getting Your Feet Wet With jQuery

.parents(expr)<ul id="nav"> <li><a href="#">Link 1</a></li> <li><a href="#">Link 2</a></li> <li><a href="#">Link 3</a></li> <li> <a href="#">Link 4</a> <ul> <li><a href="#" class="active">Sub Link 1</a></li> <li><a href="#">Sub Link 2</a></li> </ul> </li> <li> <a href="#">Link 3</a> <ul> <li><a href="#">Sub Link 3</a></li> <li><a href="#">Sub Link 4</a></li> </ul> </li></ul>

$('.active').parents() returns LI, UL, LI, UL#nav, BODY, HTML

$('.active').parents('#nav') returns UL#nav

Page 23: Getting Your Feet Wet With jQuery

.siblings()

Page 24: Getting Your Feet Wet With jQuery

.siblings(expr)<ul id="nav"> <li><a href="#">Link 1</a></li> <li><a href="#">Link 2</a></li> <li><a href="#">Link 3</a></li> <li> <a href="#">Link 4</a> <ul> <li><a href="#" class="active">Sub Link 1</a></li> <li><a href="#">Sub Link 2</a></li> </ul> </li> <li> <a href="#">Link 3</a> <ul> <li><a href="#">Sub Link 3</a></li> <li><a href="#">Sub Link 4</a></li> </ul> </li></ul>

$('li:eq(2)').siblings() returns 4 LI

$('li:eq(2)').siblings(':not(:has(a.active))') returns 3

$('li:eq(2)').siblings(':not(:has(a.active))').andSelf() returns 4 LI (includes the third LI also)

Page 25: Getting Your Feet Wet With jQuery

.prev() / .next() / .end()

Page 26: Getting Your Feet Wet With jQuery

.prev() / .next() / .end()<ul id="nav"> <li><a href="#">Link 1</a></li> <li><a href="#">Link 2</a></li> <li><a href="#">Link 3</a></li> <li> <a href="#">Link 4</a> <ul> <li><a href="#" class="active">Sub Link 1</a></li> <li><a href="#">Sub Link 2</a></li> </ul> </li> <li> <a href="#">Link 3</a> <ul> <li><a href="#">Sub Link 3</a></li> <li><a href="#">Sub Link 4</a></li> </ul> </li></ul>

$('li:eq(2)').next() returns forth LI under #nav

$('li:eq(2)').prev() returns second LI under #nav

$('li:eq(2)').next().end().prev() returns second LI under #nav

Page 27: Getting Your Feet Wet With jQuery

closing

Page 28: Getting Your Feet Wet With jQuery

http://docs.jquery.com/

Page 29: Getting Your Feet Wet With jQuery

http://remysharp.com/jquery-api/

Page 30: Getting Your Feet Wet With jQuery

Questions?

Twitter: bmsterlingSkype: benjamin.sterlingAIM: thekenzocoEmail: [email protected]: http://benjaminsterling.com