- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Videón mutatják meg a Nothing tervezői a Phone (4a) külső újdonságait
- MWC 2026: telefonból kivehető akciókamerát hoz az Ulefone RugOne
- Megkaptuk az első hivatalos fotókat a Honor Magic V6-ról
- Tényleg kicsit más lesz a Xiaomi 17 Ultra európai különkiadása
- Szívós, szép és kitartó az új OnePlus óra
- OnePlus 15 - van plusz energia
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Hivatalos a OnePlus 13 startdátuma
- Közeleg a Fairphone 6 első főverziófrissítése
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Apple Watch Sport - ez is csak egy okosóra
- Apple iPhone 17 Pro Max – fennsík
- Mobil flották
-
Mobilarena
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
- Szívós, szép és kitartó az új OnePlus óra
- Vírusirtó topic
- OnePlus 15 - van plusz energia
- 3D nyomtatás
- norbx: IRC a 90-es évek és a 2000-es évek elején
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Metal topik
- Xbox tulajok OFF topicja
- Fejhallgató erősítő és DAC topik
- Bittorrent topik
- További aktív témák...
- G.SKILL Ripjaws M5 RGB 32GB (2x16GB) DDR5 6000MHz CL30 WHITE - XMP - 120 hó garancia
- RTX 2060 SUPER WINDFORCE OC 8 GB - INGYENES FOXPOST!
- 246 - Lenovo LOQ (15IRX10) - Intel Core i7-13650HX, RTX 5060
- 245 - Lenovo LOQ (15IRX9) - Intel Core i7-13650HX, RTX 4060
- 244 - Lenovo LOQ (15IRX9) - Intel Core i7-13650HX, RTX 4060
- BESZÁMÍTÁS! Apple iPad Air 5 10.9 64GB WiFi tablet garanciával hibátlan működéssel
- Új Asus 16 TUF WUXGA 144Hz G-Sync Ryzen AI 9 HX 370W 32GB 2TB SSD Nvidia RTX4060 140W Win11 Garancia
- 5G Lenovo ThinkPad P14s Gen 3 Intel Core i7-1280P Nvidia T550 32GB 1000GB 1 év teljeskörű garancia
- Dell P2419H / P2719H Full HD LED IPS 24"-27" LCD monitorok
- Apple iPhone 13 128GB,Átlagos,Dobozaval,12 hónap garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

