Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Czy innerHTML jest przestarzały?
Forum PHP.pl > Forum > Przedszkole
gburhiphop
Czy warto stosować innerHTML? Czy jest wspierany przez przeglądarki? Czy jest zalecany przez twórców przeglądarek i W3C?

Pytanie dotyczy też np getElementById
Comandeer
Ciekawi mnie skąd pomysł, że jest przestarzały…?

Nie, nie jest. Tak samo jak getElementById.
Puszy
Zapewne autorowi chodzi o to że częściej spotyka się z zapisem jQuery $('#foo) zamiast getElementById('foo'). Selector z jQuery jest swego rodzaju aliasem dla czystego JS, więc nie ważne jakiej biblioteki używasz i jak wygląda zapis pobierania elementu o danym ID zawsze wykonywane jest getElementById().
Comandeer
Cytat
zawsze wykonywane jest getElementById()

No tak nie bardzo… Sizzle, który jest w jQuery, dla większości selektorów wywoła document.querySelectorAll. Jedynie dla najprostszych użyje document.getElement(s)By*. A inne silniki nie sądzę, żeby się wgl w takie parsowanie bawiły, tylko od razu lecą do qSA.
trueblue
Cytat(Comandeer @ 31.08.2016, 15:37:24 ) *
No tak nie bardzo… Sizzle, który jest w jQuery, dla większości selektorów wywoła document.querySelectorAll. Jedynie dla najprostszych użyje document.getElement(s)By*. A inne silniki nie sądzę, żeby się wgl w takie parsowanie bawiły, tylko od razu lecą do qSA.

Według dokumentacji dla #id wywoła getElementById.
W Slick chyba również nie poszli na łatwiznę.
Comandeer
Cytat
Według dokumentacji dla #id wywoła getElementById

Cytat
Jedynie dla najprostszych użyje document.getElement(s)By*

wink.gif

A o Slicku totalnie zapomniałem… Mimo wszystko mootools jednak przebrzmiało.
trueblue
Cytat(Puszy @ 31.08.2016, 12:08:43 ) *
pobierania elementu o danym ID zawsze wykonywane jest getElementById().



Cytat(Comandeer @ 31.08.2016, 15:37:24 ) *
No tak nie bardzo… Sizzle, który jest w jQuery, dla większości selektorów wywoła document.querySelectorAll. Jedynie dla najprostszych użyje document.getElement(s)By*

wink.gif
Comandeer
No ale nie bardzo wiem o co chodzi…

Stwierdzenie, że dla #id zawsze ("nie ważne jakiej biblioteki używasz") zostanie wywołane getElementById jest fałszywe. Dowód? Moje BEMQuery tongue.gif
Puszy
Cytat(Comandeer @ 31.08.2016, 18:09:45 ) *
No ale nie bardzo wiem o co chodzi…

Stwierdzenie, że dla #id zawsze ("nie ważne jakiej biblioteki używasz") zostanie wywołane getElementById jest fałszywe. Dowód? Moje BEMQuery tongue.gif


Czuję że szukasz dziury w całym ale rozumiem o czym mówisz. Tak jak napisałem, do pobierania elementu po ID znaczna większość z popularnych bibliotek użyje getElementById czy też innego "czystego" selektora. Uogólniłem trochę wypowiedź mając na myśli to że getElementById jest core funkcją czystego JS i wszelkie jQuery, Mootolusy itd korzystają właśnie z takich coreowych funkcji i dlatego nie są one przestarzałe (na razie, w PHP 5.5 z tego co pamiętam przestarzałe są np. ereg_replace czy key_exist).
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.