HTML

keylow

Linkblog

jQuery alapok : a szelektorok

2008.02.23. 10:18 keylow

Úgy gondolom, nem árt ha nem veszünk el a "kopipészt technológia" útvesztőiben, és egy kicsit a dolgok belsejébe is belepillantunk. Azért kezdtem ilyen bevezetővel ezt a post-ot, mert a javascript keretrendszerek többek között azon egyik kedvelt eszközök közé tartoznak, amelyeket sokan (szándékosan nem idesorolva a szakma kontárjait) az említett módon használják.

Mi is az a jQuery?
Tényleg csak pár mondat aki nem tudja mi ez, az úgysem itt kezdi az utánaolvasást. A jQuery egy kliens oldali, apró, de annál hatékonyabb interaktív keretrendszer javascripthez. Rendkívül gyorsan és a nyers js-hez képest lényegesen kevesebb kódolással lehet hatékony interaktív elemeket létrehozni webes alkalmazásokhoz. Első verzióját 2006-ban adta ki John Resig, MIT és GNU licensz felhasználata mellett.
Az első "bekezdést" a leglényegesebbel, gyakorlatilag az alapokkal kezdeném, mégpedig a kiválasztókkal (szelektorok).

A Szelektorok
A szelektorok az egyik leg sokoldalúbb megoldás egy vagy több DOM elem eléréséhez. Tulajdonképpen megegyezik a szabványos CSS és Xpath kiválasztók használatával azon nem éppen elhanyagolható szempont figylembe vételével, hogy böngészőfüggetlen. Például használható a szabványos > (parent child) operátor IE6 alatt is.
Általánosan használt kiválasztók:
$(#id") és $(".osztály")A kettő közti lényeges különbség, hogy az id alapú kiválasztónál csak egy DOM elemet kapunk vissza (még ha több ugyanazon id-vel ellátott HTML elemünk is van), addig az osztály kiválasztónál az összeset.
Szabványos elemek:
$(table) , $(div) , $(this)Hierarchikus kiválasztók:
$("#id1 > a#id2"), $("#id1 a"), $("#id ~ a") A teljes szelektorok listája itt olvasható.
A DOM fán megtalálható összes (a példában az összes text inputot) elemet az each() segítségével lehet elérni:
$(input[type=text]).each( function() {....} )Kiválóan helyettesíthetők vele az IE kiválasztó hiányosságok. (pl input[type=button]) Hogy mire jó ez? Egy nagyon egyszerű példával mutatnám meg. Az alábbi utasítás a dokumentum betöltődése után az összes táblázat első sorának hátterét pirosra színezi.
$(function(){
    $(table tr:eq(0)).css({ backgroundcolor:"red" })
})

Ugyanez  hagyományos javascript  megvalósítással:var table = document.getElementsByTagName("table");
for(i=0;i<table.length; i++)
{
     table[i].rows[0].style.backgroundColor = "red";
}
Ha elsőre nem is tűnt fel az olvasónak, de kevesebb gépeléssel elérhető ugyanaz az eredmény, és nem kell ciklust futtatni. További előnyök:

  • kevesebb utasításból ugyanazon eredmény
  • egymásbafűzhető utasítások (később tárgyaljuk)
  • $(elem) elérés bizonyíthatóan gyorsabb, mint a hagyományos getElementById
  • továbbá az egyik leggyorsabb populáris javascript keretrendszer (mérési eredmények)
  • gyorsan tanulható
  • cross browser és cross platform

A következő részben az elemek tulajdonságait és azok manipulálását mutatom be.

1 komment

Címkék: javascript jquery

Moziünnep & netőccséle

2007.12.13. 09:06 keylow

Nem vagyok az a mozifan típus, ennek különböző anyagi és szemléletmódbeli oka van, de tennap moziünnep alkalmábul megnéztük az Ocean 13 című kultuszfilmet. Már az előző két rész is nagyon tetszett, úgyhogy bízakodva vártam ezt is, utólag mondva nem hiába. Véleményem szerint a színvonal nem esett (már ennek is örülni kell a többrészes filmeknél szvsz.) ezen rész esetében sem.
Nade amiért “tollat” ragadtam az nem ez:
Aki járt már ilyen plázaizé mozikban, az tudja mi a szokás ott. 1100 körüli jegyárért kapsz a pofádba 20 perc reklámot, és amin most különösképp felháborodtam: még meg is FENYEGETNEK! Több percen keresztül felhívták a figyelmünket (miután komoly összeget fizetve végignéztünk 5 tamponreklámot) hogy nehogy mobiltelefonnal vagy kamerával akár egy snittet is rögzíteni merjünk, mert különben kivezetnek, meghurcolnak, elkobozzák a készüléket stb. Továbbá jópofa módon L’ ecsó elmagyarázta nekünk hogy adjunk má a minőségre, és nehogy má letőccsünk. Mintha egy koncerten a zenekar úgy kezdené a fellépését, hogy: “üdvőzlet, aki fel meri venni amit itt hall, azt az x törvény y paragrafusa értelmében 2-5 évig terjedő szabadságvesztéssel sújtjuk! Jó szórakozást!”.
Nos ami ebben különösebben felháborít, az az, hogy ezek az amúgy sem napról-napra tengődő filmgyáros cégek és piócáik imígyen kapálóznak a p2p és egyébb kiváló találmányok okozta bevételkiesés visszaszorításáért. Pedig van egy két ötletem. Mondjuk mindjárt a premier dvd-ket lehetne a jelenlegi 3-4ezer helyett ezerért adni, a mozijegyeket max 500ért stb. Tudom hogy ez nem ilyen egyszerű, de a nadrágszíj meghúzást láncreakciószerűen lehetne fentről (filmgyár) lefelé (kiadó) végrehajtani, nem pedig a felhasználókat “idomítani” ha már egyszer nagyrészt belőlünk élnek.
Összegezve:
-mozijegy 1100 (moziünnep alatt ez max 360 forint lehet, ezért is voltam tennap moziban :))
-10-20perc reklám
-netőccsé le!
Hát ezért nem leszek én sosem igazi mozifan. pedig a jó filmeket szeretem…

Szólj hozzá! · 1 trackback

süti beállítások módosítása