![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 27.06.2011 Ostrzeżenie: (0%) ![]() ![]() |
Czy da się zrobić tak, żeby document.getElementById pobierał nie tylko pierwszego diva z podanym id ale wszystkie w dokumencie?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 58 Dołączył: 14.07.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
ID powinno byc unikalne dlaczego wiec masz ich więcej? Użyj klasy
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie. W ogóle id jako takie się powinno rzadko stosować.
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat W ogóle id jako takie się powinno rzadko stosować. Mógłbyś rozwinąć?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%) ![]() ![]() |
Id powinno być unikalne w całym dokumencie. Jednak wiele rzeczy wydaje się unikalne, a wcale takie nie jest.
Wyobraź sobie taki scenariusz. Robisz stronę, na stronie umieszczasz jakiś widżet, np. carousel, przypisujesz mu id carousel, i za pomocą tego id odwołujesz się do tego elementu wszędzie, w CSS:
w JS:
itp. itd. No i spoko, działa. A teraz niespodzianka. Okazuje się, że chcesz na stronie umieścić drugi taki sam widżet carousela, tylko na dole strony. I wszystko musisz pozmieniać (bo używając id zakładałeś że carousel będzie jeden). A jakbyś pisał od początku tak
czy tak:
miałbyś łatwiejsze zadanie.... Z drugiej strony id czasem są niezbędne jeśli np. chcemy zidentyfikować jakiś element po to, żeby dało się na niego wejść przez adres z hashem na końcu, np. w kodzie strony wikipedii masz: dzięki temu adres: http://en.wikipedia.org/wiki/Cat#External_links (z #External_links na końcu) przenosi się od razu na dół strony do zewnętrznych linków. Albo też id się przydają jak chcemy jakiś element jednoznacznie zidentyfikować w skryptach (np. robimy portfolio i chcemy pokazywać kontakt do nas w animowanym okienku dialogowym. Więc tworzymy ukryty element o id #kontakt, i jak klikamy button z napisem "Kontakt" to wywołuje on np. taki kod
i pokazuje się to, bardzo konkretne okienko z danymi kontaktowymi,. W takich sytuacjach używanie id MA sens, bo identyfikujesz bardzo konkretne okienko na stronie, które chcesz pokazać. Z drugiej strony nawet do takiego okienka prędzej bym dodał jakąś klasę (na przykład klasę "dialog") a potem stylował np.
bo jednak - jaką mam pewność, że za chwilę nie będę potrzebował innego, podobnego okienka "O mnie"? Takie rzeczy lubią się same "mnożyć"... Tak samo sam przycisk z napisem "Kontakt". Mógłbym go nazwać #contact-button, ale co jeśli będę chciał mieć 2 przyciski/linki na stronie, które do tego samego służą? więc klasa, albo dodanie jakiegoś atrybutu (np. <a class="dynamic-link" href="#contact">kontakt</a> czy coś podobnego. A potem np.
Myślę, że to kwestia żeby odróżnić elementy/rzeczy/zachowania, które prawdopodobnie będą się mnożyć/powtarzać na stronie (wtedy raczej id będzie kiepskim pomysłem), od rzeczy unikalnych, które musimy zidentyifkować (wtedy id będzie akurat dobrym pomysłem). Ale jednak wydaje mi się, że ludzie nadużywają id i wrzucają je na siłę (co widać i po tym wątku). Ten post edytował PrinceOfPersia 29.04.2015, 22:01:11 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 12:40 |