Tak sobie czytam i głupieję:
https://kursjs.pl/kurs/dom/dom-wlasciwosci.php#wlasciwosci-atrybuty
Pytania:
-
Czy
atrybuty
elementu HTML tojedna z właściwości
tegoż elementu zawierająca kolekcję domyślnie przypisanych mu właściwości razem z ich wartościami, na podstawie której to kolekcji tworzone są jegodomyślne właściwości
? -
Czy element HTML:
<input id="pole">
i tenże obiekt złapany przez JS:
e=document.getElementById("pole");
To ten sam byt tylko inaczej nazwany w ramach różnych kontekstów, czy dwie zupełnie różne rzeczy?
Autor linkowanego tekstu pisze:
jeżeli teraz wypiszemy pobrany element w konsoli (...) zobaczymy, że pobrany element jest obiektem jakiegoś typu - np. HTMLButtonElement
(czyli został stworzony na bazie konstruktora HTMLButtonElement)
. Obiekt taki ma w sobie wiele właściwości. Wśród nich są te, które odpowiadają wartościom atrybutów z html
Co by sugerowało, że łapiąc element (np. getElementById), tworzę w JS obiekt, którego tam wcześniej nie było. Ale w takim razie, co w sytuacji gdy robię np:
document.getElementById("pole").value="cośtam"
to co się wtedy dzieje? Tworzę jakiś obiekt anonimowy i na nim operuję?
A jeśli to są faktycznie dwie różne rzeczy, to czy zachodzi między nimi jakaś różnica (bo modyfikowanie obiektu w JS skutkuje przecież zmianą wyglądu elementu HTML) ? Czy mogę np. nadać obiektowi JS takie właściwości, które nie znajdą odzwierciedlenia w atrybutach elementu HTML?