Hirdetés
- Projektor topic
- Lenovo Legion Go: a legsokoldalúbb kézikonzol
- Szünetmentes tápegységek (UPS)
- Powerbank topik
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Hamarosan "kémkedhet" az NVIDIA a saját GPU-i után?
- Milyen videókártyát?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- iPad topik
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
-
PROHARDVER!
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Alapvetően annyi a baj azzal, hogy JavaScripttel állítgatod a stílusát egy DOM-elemnek, hogy így keversz két különböző területet: alapvetően a CSS feladata meghatározni az oldal megjelenését (benne van a nevében, hogy stíluslapokat készítesz), JavaScripttel pedig inkább a viselkedését illik manipulálni az oldalnak. Nyilván vannak kivételek, de ez pont olyan példa, amire érvényes. Persze nem érdemes túlizgulni, ez már csak szépítgetés, szemantikai okoskodás.
Most amúgy kíváncsiságból rákerestem a dologra, és találtam egy cikket, ami vitatja az osztályok ráhelyezésének vagy levételének elvét, és inkább a data-attribútumok használatát javasolja:
http://toddmotto.com/stop-toggling-classes-with-js-use-behaviour-driven-dom-manipulation-with-data-states/
Elfogadható, amit ír, de túlzásba esik az osztályok használatának elvetésével. De egyébként nem rossz a data-attribútumok használata sem."Lenne esetleg értelme minden sort egy ID-val ellátni, a szűrést pedig client-side/local storage-ban elvégezni majd az eredmény alapján állítgatni a displayt?"
Semmi értelme nem lenne ennek a megoldásnak. A szűrést így is az összes adaton kellene elvégezni, itt pedig semmiféle előnyt nem jelentene az, hogy csavarintasz és bonyolítasz egyet a dolgon.
Gondolj bele, a mostani megoldásod egy document.getElementsByClassName hívás, ami visszatér egy HTMLCollectionnel, amin végigmész egy for ciklussal, és megnézed, benne van-e az adott sorban valahol a keresett elem, aztán kész vagy. Ez is nagyon gyorsan fog végezni, még ha többezer elemed lenne, akkor se lenne vészes, a DOM-manipulálás már más kérdés. Ha viszont átállnál arra, hogy id-k szerint kérdezgess le, akkor értelemszerűen az id-kat is nyilván kellene tartani egy másik tömbben (mert különben honnan tudod, hogy miket kellene lekérdezni? Ha meg nem tudod a konkrét id-kat, akkor vissza kell térned az eredeti, amúgy ezerszer értelmesebb megoldásra), és azon a tömbön kellene végigmenned, lekérdezned id szerint az elemet, majd pont ugyanezt a keresést végrehajtani. Nem nyertél semmit, sőt, még overheadet is tettél a dologba (plusz egy-egy lekérdezés minden elemre az id szerint is, miután megkaptuk a tömbből az elemet).
Azt meg nem tudom, hogy érted, hogy "client-side"-ban elvégezni a keresést, most is kliensoldalon keresel.
localStorage-be átpakolni a keresést meg megint semmi értelme, mit keresne ott, miért kellene perzisztens módon tárolnia a kliensnek az összes adatot. Nem beszélve arról, hogy valószínűleg az oldaladon változni fognak ezek a megjelenített és szűrhető adatok, így a localStorage-et mindig szinkronban kellene tartani az újabb adatokkal.
Új hozzászólás Aktív témák
- Samsung Galaxy A54 - türelemjáték
- Sweet.tv - internetes TV
- Battlefield 6
- Társasjáték topic
- Xiaomi 14T Pro - teljes a család?
- Projektor topic
- Mi a labubu? – és pár fontos dolog, amire idén rágugliztál
- Le Mans Ultimate
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- Autós topik
- További aktív témák...
- Dell Inspiron 3511 /i7-1165G7/MX350/16GB/512GB M.2/WIN11/Újszerű akku/Játékra is!
- Apple MacBook Air 13 M2 8/256GB Éjfekete , 96%-os akku
- Garmin Instinct 3 50mm Solar narancssárga
- Lenovo Thinkpad E14 G4 I5-1235u/16 GB/256 NVMe /14" FULL HD gyári garanciás magyar laptop eladó
- VELBON Ultra Stick Super 8 - 8 szekciós ultrakönnyű monopod
- HIBÁTLAN iPhone 12 Pro 128GB Pacific Blue- 1ÉV GARANCIA -Kártyafüggetlen, MS3948
- Vivo V50 12/512GB,Újszerű,Adatkabel,12 hónap garanciával
- Újszerű Dell Latitude 7440 -14"FHD+1 IPS - i5-1345U 16GB - 512GB - Win11 - 1 év garancia + Dokkoló +
- HIBÁTLAN iPhone 12 Mini 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3631,94% Akkumulátor
- Samsung Galax S23 Ultra 256GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest


