Selecting

Innhold

Fooole enkelt i jQuery!

	$('#wrapper, .pages, aside');

Her er det viktig å tenke på optimalisering.

jQuery leter fra høyre til venstre, så jo mer spesifikk en er jo bedre. Native vil alltid være kjappere enn f.eks:

	$('input[name^="news"]');

Element Properties - MDC

En er likevel ikke bundet til jQuery's metoder. Sånn sett er jQuery ganske snill.

	// Semi jquery
	$('#selecting header a')[0].href;
  	//Jquery
	$('#selecting header a').attr('href');
	// Semi jquery
	$('.pages')[0].className;
	// Jquery
	$('.pages:first').attr('class');
	// Eller
	$('.pages').eq(0).attr('class');
	// Hva skjer her?
	$('.pages');
	$('.pages').attr('class');
	// Og her?
	$('.pages')[0].attr('class');

Hvorfor? Hastighet/performance, først og fremst.

Hvis vi vil bruke native js på f.eks. en array, kan vi bruke:

get()

The .get() method grants us access to the DOM nodes underlying each jQuery object.
	var hrefArray = $('a').get();  
	console.log(hrefArray);
	console.log(hrefArray[0].href);

get() - api.jquery.com

Tenk deg om før du bruker slike:

	var a = 'a[title="jQuery"][href^="http://"][class!=""]';

Oppgave

Bruk api.jquery.com, og lag i konsollen en funksjon som finner alle id'ene til alle skjulte "sider" på denne siten. Skriv disse ut en etter en til konsollen.

(Thomas viser "sidene" i inspectoren.)