Attribuuttien vuorottelu ilman arvoja

Olkoon annettu estetty syöttökenttä ja painike:

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

Tehdään niin, että jokainen painallus painiketta vaihtaa syöttökentän tilaa - estetystä pois estetyksi ja päinvastoin. Aluksi saadaan viittaukset elementteihimme muuttujiin:

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

Ja nyt toteutetaan suunniteltu:

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

Tehtävän voi kuitenkin ratkaista vähemmällä määrällä koodia:

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

Selitä, kuinka annettu koodi toimii.

Задание 2

Annettu valintaruutu ja painike. Tee niin, että jokainen napsautus painiketta vaihtaa valintaruudun tilaa.