- Samsung Galaxy S23 Ultra - non plus ultra
- Yettel topik
- Xiaomi 15 - kicsi telefon nagy energiával
- Xiaomi 15T Pro - a téma nincs lezárva
- Fotók, videók mobillal
- Apple iPhone 16 Pro - rutinvizsga
- Itt a Galaxy S26 széria: az Ultra fejlődött, a másik kettő alig
- Megérkezett a Google Pixel 7 és 7 Pro
- Megérkezett a Huawei eddigi legkomolyabb futóórája
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
-
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
- Samsung Galaxy S23 Ultra - non plus ultra
- Kerékpárosok, bringások ide!
- Milyen házat vegyek?
- Yettel topik
- Kínai és egyéb olcsó órák topikja
- Tőzsde és gazdaság
- Mesterséges intelligencia topik
- Geri Bátyó: Agglegénykonyha 14 – Kések, késélezés
- Kutya topik
- Xiaomi 15 - kicsi telefon nagy energiával
- További aktív témák...
- Mini PC (ITX) i7 265K 9070 XT 32 GB DDR5 8000Mhz
- Gigabyte RX 6700 XT EAGLE 12G Szép állapotban 1. tulajtól, 2026.04.14-ig garanciális
- Microsoft Surface Book 3 15 i7 / 32GB / 512GB SSD / Windows 11 Pro
- Macbook air M4 15col, éjfekete, magyar
- ASUS ROG Strix OLED XG27AQDMGR (1440p,240Hz,TrueBlack Glossy,G-Sync) 3év garanciával!
- BESZÁMÍTÁS! HP Elitedesk 800 G4 SFF brand számítógép - i5 8500 16GB DDR4 256GB SSD UHD630 250W WIN11
- HIBÁTLAN iPhone 15 Pro 128GB Blue Titanium-1 ÉV GARANCIA - Kártyafüggetlen, MS4692, 92% AKKSI
- CÉGEK FIGYELEM!! iPhone 11 64GB Black -1 ÉV GARANCIA - 27% ÁFA-S SZÁMLA Kártyafüggetlen, 100% Akksi
- Dell Optiplex MT / SFF , 3050, 3060, 3070, 5070, 7060, 5090/ 7.-8.-9.-10. gen/ SZÁMLA- GARANCIA
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB DDR5 RAM RTX 5070 12GB GAMER termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

