Aktywne Wpisy
cinu4 +121
Najbardziej natrętnych neur0pków mam na czarno a i tak fala tuskoidów zalewa wykop przed wyborami. Gdyby mi ktoś w 2015 powiedział, że za 8 lat internet zacznie obciągać Donaldowi to bym wyśmiał, a teraz po prostu wiem, że ten naród skazany jest na bycie pod butem.
#bekazlewactwa #konfederacja #bekazpo #bekazneuropy #polityka #wybory
#bekazlewactwa #konfederacja #bekazpo #bekazneuropy #polityka #wybory
Ana77 +7
Potrzebuje opinii facetów i najlepiej 25+
Czy jest sens szukać kogoś sensownego na necie, mając same " trupy" w szafie? Generalnie ja i moje życie tak wygląda, że chyba najtwardszy by #!$%@?ł.
Mam 32 lata, niska, mało atrakcyjna dziewczyna ( taka nie wylaszczona, byle jaka szara myszka)
Pracuje od lat z ojcem, mały biznes, powiedzmy warzywniak, żenująca praca, staram się teraz rozwijać w coś bardziej szlachetnego. Mieszkam w wynajmowanym mieszkaniu z kotami
Czy jest sens szukać kogoś sensownego na necie, mając same " trupy" w szafie? Generalnie ja i moje życie tak wygląda, że chyba najtwardszy by #!$%@?ł.
Mam 32 lata, niska, mało atrakcyjna dziewczyna ( taka nie wylaszczona, byle jaka szara myszka)
Pracuje od lat z ojcem, mały biznes, powiedzmy warzywniak, żenująca praca, staram się teraz rozwijać w coś bardziej szlachetnego. Mieszkam w wynajmowanym mieszkaniu z kotami
const p = document.querySelector("p");
p.addEventListener("click", function () {
p.style.color = "red";
});
tylko zrobić oddzielną klasę w CSS i dodać ją do takiego elementu? Podobno jest to dobra praktyka i zgadzam się z tym, ale wydaje mi się, że tak się powinno robić w przypadku, gdy chcemy dodać więcej właściwości CSS.
Jednak gdy chcę dodać tylko jedną właściwość (czyli np zmienić kolor, lub sprawić, żeby element zniknął dzięki właściwości display: none), to po co tylko dla jednej właściwości robić specjalnie klasę w CSS?
Generalnie co jest złego w takim zapisie?
#javascript #frontend #webdev #css #naukaprogramowania
Kiedyś była stonka jsperf.com, ale już nie działa, to byś stamtąd wiedział, że
getElementById
jest najwydajniejszą metodą.Inne rodzaje wyciągania referencji na element z drzewa znajdziesz na stronie z MDN WebAPI:
@patrolez: jeżeli masz do obrobienia tysiące elementów to prawda. Jeżeli selektuje jeden obiekt to raczej niema znaczenia
querySelector
powstał na odpowiedź tego, co zapoczątkowało jQuery w czasach, gdy tej metody jeszcze nie było.W każdym razie odpytywanie po selektorze CSS zawsze będzie mniej wydajne niż zagadywanie po
getElementById
ze względu na dodatkowy etap parsowania selektora.@magnuss: grosz do grosza i będzie kokosza. Obecni Front-Endowcy bez zaplecza niskopoziomowego robią rzeczy,
@maciorqa: w obecnych praktykach, gdzie back-end to API, a front-end to coś zbudowane z komponentów w JS, to i tak potrzeba wyciągania referencji z drzewa DOM przez jego odpytywanie jest czymś, czego się nie robi, bo wszystkie relacje między komponentami są rozwikływane na poziomie JS-a, a DOM też raczej jest budowany w JS, a nie przez parsowanie HTML-a w silniku przeglądarki.
Jeżeli jednak back-end serwuje
Ja osobiście prawie nigdy nie używam querySelector.
Co do posługiwania się klasami zamiast ustawiania styli dla wybranego elementu, to ja widzę podstawowe problemy z przypisywaniem styli jak w Twoim przykładzie:
1. Teraz masz atrybut stylu do dopisania, ale
querySelector
iquerySelectorAll
to ogólnie raczej opcje na wyciąganie danych przy Web Scrapingu, a nie metody używane, gdy ludzie od Front-End i Back-End siedzą obok siebie.Mimo że o to nie pytałeś to co do sposobu wybierania elementów to nie ma to większego znaczenia, niby performance jest
@Dawideo: Nie chodziło mi o sposób pobrania paragrafu (chociaż
Polecam klasy
@maciorqa: Raczej tak, jedynie gdybym nie miał dostępu do cssów/sassów/scssów to bym to robił inline z pominięciem klasy i traktowałbym to jako chwilowe rozwiązanie. Ewentualnie w przypadku dużej ilości
@UrimTumim: @maciorqa: wyniki z Firefoxa
@UrimTumim: @maciorqa: wyniki z Google Chrome
Porównanie:
Firefox::getElementById (317834)
GChrome::getElementById (1540)
====
Firefox::getElementsByClassName (211945)
GChrome::getElementsByClassName (1463)
====
Firefox::querySelector (2233)
GChrome::querySelector (1669)
====
Firefox::querySelectorAll (460)
GChrome::querySelectorAll (382)
Serio szkoda, że nie istnieje już
jsperf.com
, bo nowe pokolenie JS-owców ma pod górkę. Najsperf.com
były wyświetlane wyniki benchmarków z różnych przeglądarek jednocześnie.Tyle po tym pozostało: https://github.com/jsperf/jsperf.com
Google Chrome 97.0.4692.99
Mozilla Firefox 96.0
Komentarz usunięty przez autora