Alternarea atributelor fără valori

Să presupunem că avem un input blocat și un buton:

html<input id="elem" disabled>
<input id="button" type="submit">

Să facem ca fiecare apăsare a butonului să ducă la schimbarea stării input-ului - de la blocat la deblocat și invers. Pentru început, să obținem referințele la elementele noastre în variabile:

javascriptlet elem   = document.querySelector('#elem');
let button = document.querySelector('#button');

Și acum să implementăm ceea ce ne-am propus:

javascriptbutton.addEventListener('click', function() {
  if (elem.disabled) {
    elem.disabled = false;
  } else {
    elem.disabled = true;
  }
});

Cu toate acestea, problema poate fi rezolvată cu mai puține linii de cod:

javascriptbutton.addEventListener('click', function() {
  elem.disabled = !elem.disabled;
});
Задание 1

Explicați cum funcționează codul de mai sus.

Задание 2

Este dat un checkbox și un buton. Faceți ca fiecare click pe buton să ducă la schimbarea stării checkbox-ului.