• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed JS - patch (dom?)

Object Storage Arubacloud
0 głosów
180 wizyt
pytanie zadane 26 stycznia 2018 w JavaScript przez shy_fox Gaduła (4,320 p.)
zamknięte 26 stycznia 2018 przez shy_fox
document.body.style.background = "#f3f3f3";

1. Jak pobrać zamiast body obiekt po innym elemencie np. ID w ten powyższy sposób?

2. jak zastosować daną rzecz dla każdego elementu, trzeba podać document.*.style?

komentarz zamknięcia: Udzielono odpowiedzi
komentarz 26 stycznia 2018 przez shy_fox Gaduła (4,320 p.)
Super więcej downvote, udzielenie odpowiedzi gryzie

2 odpowiedzi

+3 głosów
odpowiedź 26 stycznia 2018 przez niezalogowany
wybrane 26 stycznia 2018 przez shy_fox
 
Najlepsza
document.body.style.background = "#f3f3f3";

1. Jak pobrać zamiast body obiekt po innym elemencie np. ID w ten powyższy sposób?

Jeśli chodzi konkretnie o ID, istnieje mechanizm implementowany w przeglądarkach od zarania dziejów. Każde id z HTML-a przypisywane jest do obiektu window.

<div id="lorem">Lorem ipsum dolor</div>
console.log(window.lorem, lorem)

Niezalecane jest jednak korzystanie ze zmiennych globalnych.

Prawdopodobnie metoda której szukasz to querySelector lub querySelectorAll


2. jak zastosować daną rzecz dla każdego elementu, trzeba podać document.*.style?

Nie. Musisz posiadać referencję do elementów i każdemu z nich zmienić style osobno. Spróbuj z metodami querySelectorAllforEach

+1 głos
odpowiedź 26 stycznia 2018 przez Mikołaj Kawczynski Dyskutant (9,160 p.)

To co robisz w tym skyrypcie to nie jest żadne pobieranie obiektu tylko przypisanie węzłowi body właściwości css  style background.

To są podstawy JS. getElementByID. Style określa się w arkuszu css, a nie js. Dla każdego elementu miałbyś porostu

*, *::before, *::after, *::target
{
twój styl
}

 

komentarz 26 stycznia 2018 przez shy_fox Gaduła (4,320 p.)
Lecz można także określić je w skrypcie, nie będę pisał każdego osobnego stylu dla jednego kolorku żeby zrobić np. animacji tęczy w tle tylko uzyje zmieniającej się wartości w skrypcie, będzie bardziej wygodne, dlatego gdy pytam o tym jaką podać sciężke zmaiast BODY aby uzyskać dla każdego elementu wynik chce odpowiedź dotyczącą tego a nie jak inaczej mozna to zrobić
1
komentarz 26 stycznia 2018 przez Mikołaj Kawczynski Dyskutant (9,160 p.)
Od animacji jest w css keyframe a nie pisanie osobnych styli.

Przecież napisałem getElementById jak chcesz hurtowo to możesz pobrać uchwyty po klasie getElementsByClassName i polecieć pętlą obiekty. Można też polecieć po tagu czyli getElementsByTagName. Jest jeszcze querySelector i querySelectorAll dla wielu znaczników. getElementById jest metodą klasy dokument natomiast pozostałe mogą być metodą każdego węzła DOM, w tedy następuje przeszukanie tylko dzieci tego węzła.

Nie wiem co dokładnie chcesz zrobić więc Ciężko mi powiedzieć jak najlepiej pobrać elementy. Jak chcesz wszystko to możesz też lecieć po prostu węzeł po węźle przez bezpośrednie przemieszczanie po węzłach DOM ale moim zdaniem wygodniejsze otrzymanie uchwytów do "wszystkiego" jest querySelectorAll("*") tylko szykaj od body ponieważ jeśli zaczniesz od dokumentu to wyrzuci Ci uchwyty do obiektów z head a tego chyba nie chcesz stylkować :D
komentarz 26 stycznia 2018 przez shy_fox Gaduła (4,320 p.)
Teraz wszystko jest dla mnie jasne, dziękuje za wyczerpującą odpowiedź!

Podobne pytania

0 głosów
2 odpowiedzi 424 wizyt
pytanie zadane 27 sierpnia 2018 w JavaScript przez bulit000 Początkujący (460 p.)
0 głosów
1 odpowiedź 195 wizyt
pytanie zadane 31 lipca 2018 w JavaScript przez Gambr Dyskutant (7,530 p.)
0 głosów
1 odpowiedź 336 wizyt
pytanie zadane 8 lipca 2017 w JavaScript przez Dorian Bajorek Dyskutant (7,920 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...