Můžete vysvětlit, jak funguje toto?( xhttp. {}; )
xhttp. {
if (podminka) {
document.getElementById(soubor).innerHTML = this.responseText;
}
};
A chybí tam středník (pokud není nepovinný v dané implementaci, ale v Internet exploreru by to neprošlo)
Problém bude nejspíš v this, je někdy záludné a v určitých případech je nutné si uložit pomocnou proměnnou novethis=this a potom pracovat uvnitř funkce s novethis.
Obecně je to problematika closures, což jsou je věc týkající se toho, zda uvnitř funkce jsou dostupné proměnné z vnější (a jakým způsobem). Funkce ve své podstatě by měly operovat pouze proměnnými, které dostanou v argumentech. Ale tak to není a proto i funkce operují s proměnnými dostupnými z nadřazeného scope (zjednodušeně globální proměnné)
doporučení: není nutné dávat všem prvkům class=data, stačí je dát do nadřazeného bloku:
div(id=prvky)
-span(id=teplota)
-span(id=tlaky)
následně document.querySelectorAll("#prvky > span")
=> dá seznam 4 prvků