Chyby s měrnými jednotkami v JavaScriptu

Často lze snadno udělat chybu a zapomenout na měrné jednotky. Například takto:

javascriptlet width = 100;
elem.style.width = width; // ups...

Správně je třeba uvést hodnotu v pixelech:

javascriptlet width = 100;
elem.style.width = width + 'px';

Představme si, že chceme zvětšit šířku o určitou hodnotu. K tomu je nejdříve potřeba přečíst šířku, poté extrahovat číslo, přičíst k němu požadovanou hodnotu, přidat 'px' a teprve potom zapsat zpět:

javascriptlet widthPx = elem.style.width;
let widthNm = parseInt(widthPx);
elem.style.width = (widthNm + 30) + 'px';
Задание 1

Vysvětlete, v čem je chyba v následujícím kódu:

html<div style="font-size: 16px;">
  text
</div>
javascriptlet elem = document.querySelector('div');
elem.style.fontSize = elem.style.fontSize + 2;
Задание 2

Vysvětlete, v čem je chyba v následujícím kódu:

html<div style="font-size: 16px;">
  text
</div>
javascriptlet elem = document.querySelector('div');
elem.style.fontSize = parseInt(elem.style.fontSize + 2) + 'px';
Задание 3

Vysvětlete, v čem je chyba v následujícím kódu:

html<div style="font-size: 2.5em;">
  text
</div>
javascriptlet elem = document.querySelector('div');
elem.style.fontSize = parseInt(elem.style.fontSize) + 2 + 'em';
Задание 4

Je dán div:

html<div id="elem" style="width: 300px; height: 200px; border: 1px solid red;">
  text
</div>

Dáno je také tlačítko. Po kliknutí na tlačítko zvětšete šířku a výšku divu o 50px.

Задание 5

Je dán div:

html<div id="elem" style="width: 300px; height: 200px; border: 1px solid red;">
  text
</div>

Dáno je také tlačítko. Po kliknutí na tlačítko zvětšete šířku a výšku divu o 10%.