Hirdetés
- Visszatérhetnek a Samsung gyártotta Snapdragon chipek
- Lesz is reklám a Nothing telefonjainak zárképernyőjén, meg nem is
- Ilyen lesz a Honor Magic8 RSR Porsche Design
- A Dreame megmutatta, hogy valójában mekkora - porszívótól az autóig - CES
- Mától kapható az IP69K védelmével világelső Blackview MEGA 12 tablet
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Samsung Galaxy S24 - nos, Exynos
- Amazfit Active 2 NFC - jó kör
- MIUI / HyperOS topik
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Xiaomi 14T - nem baj, hogy nem Pro
- Milyen okostelefont vegyek?
- Lesz is reklám a Nothing telefonjainak zárképernyőjén, meg nem is
- iPhone topik
-
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
- Eredeti játékok OFF topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Elektromos autók - motorok
- Melyik tápegységet vegyem?
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Autós topik
- Samsung Galaxy S24 - nos, Exynos
- Allegro vélemények - tapasztalatok
- sziku69: Szólánc.
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- További aktív témák...
- wharfedale wh-2 surround szett illetve egy par SAL2200F hangfal
- Apple iPhone 14 Pro 512GB, Kártyafüggetlen, 1 Év Garanciàval
- Samsung 970 EVO PLUS NVMe M.2 ssd 1 TB
- Latitude 7420 2-in-1 14" FHD IPS kihajtható érintő i7-1185G7 32GB 512GB NVMe IR kam gar
- Csere-Beszámítás! Lenovo Ideapad Gaming 3 Laptop! I5 12450H / RTX 3050 / 16GB DDR4 / 512+256 SSD
- Samsung Galaxy S23 FE 128GB, Kártyafüggetlen, 1 Év Garanciával
- Keresünk Galaxy S22/S22+/S22 Ultra
- Apple iPhone 15 Pro Max 256GB, Kártyafüggetlen, 1 Év Garanciával
- GYÖNYÖRŰ iPhone 13 Mini 128GB Blue- 1 ÉV GARANCIA -Kártyafüggetlen, MS4067,94% Akksi
- GYÖNYÖRŰ iPhone 15 Pro Max 256GB Blue Titanium-1ÉV GARANCIA-Kártyafüggetlen, MS4091
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest


