![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 0 Dołączył: 24.07.2003 Ostrzeżenie: (10%) ![]() ![]() |
Witam,
wiem, że za pomocą JavaScript można ukryć niektóre elementy strony. Czy mogę poprosić kogoś o przykład na poniższym kodzie ? Chciałbym ukryć "search box" i/lub link: "Advanced search" Próbowałem wykonać coś takiego: document.getElementsByClassName("searchContainer").style.display = 'none' oraz document.getElementById("searchContainer").style.display = 'none' W obu przypadkach nic to jednak nie pomagało. Być może funkcja jest OK, tylko trzeba coś jeszcze dodać ?
Ten post edytował czezz 10.08.2015, 16:27:00 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Kod document.getElementsByClassName("searchContainer") Jak sama nazwa funkcji mówi, zwracana są elementy, a więc obiekt pseudotablicowy. Zatem możesz pobrać 1. element z niego i dla niego przypisać style: Kod document.getElementsByClassName("searchContainer")[0].style.display = 'none'; W tym wypadku jednak IMO lepiej się sprawdzi document.querySelector: Kod document.querySelector(".searchContainer").style.display = 'none'; Osobiście jednak wydaje mi się, że zamiast bezpośrednio operować na stylach, to lepiej jest operować na klasach elementu (a więc na jego stanie). |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 0 Dołączył: 24.07.2003 Ostrzeżenie: (10%) ![]() ![]() |
Bardzo dziękuję za odpowiedź.
Obia podane przykłady działają świetnie na podanym przykładowym kodzie html. Jeśli jednak, spróbuję wykonać tą samą operację na pełnym kodzie na moim serwerze, używając w Firefox: F12 > console >
W pierwszym przypadku coś jest niezdefiniowane a w drugim ma wartość zerową. O czym zapomniałem ? Ten post edytował czezz 10.08.2015, 23:04:22 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Odpalasz to w head? Jeśli tak, to musisz to odpalić przy DOMContentLoaded: https://developer.mozilla.org/en-US/docs/We...OMContentLoaded
Taki błąd się odpala jeśli chcemy użyć kodu na elementach, które jeszcze nie istnieją. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 141 Pomógł: 0 Dołączył: 24.07.2003 Ostrzeżenie: (10%) ![]() ![]() |
Nie.
Do testu użyłem metody Firefox: F12 > Console > document.getElementsByClassName("searchContainer")[0].style.display = 'none'; - to zadziałało. Jeśli dodam do kodu HTML, wszystko jedno gdzie poniżse to nie działa:
lub
Ten post edytował czezz 11.08.2015, 12:11:30 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Ah, Ty to wykonujesz w konsoli i tam Ci nie znajduje elementów? Dziwne. Ale chyba wiem na czym problem polega: ta wyszukiwarka jest w jakiejś ramce?
A jak dodasz to na końcu body też nie działa? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 10:43 |