Alternance d'attributs sans valeurs

Soit un champ de saisie désactivé et un bouton :

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

Faisons en sorte que chaque clic sur le bouton change l'état du champ de saisie - de désactivé à activé et vice versa. Pour commencer, obtenons des références à nos éléments dans des variables :

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

Et maintenant, implémentons ce qui est prévu :

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

La tâche, cependant, peut être résolue avec moins de code :

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

Expliquez comment fonctionne le code ci-dessus.

Задание 2

Soit une case à cocher et un bouton. Faites en sorte que chaque clic sur le bouton entraîne un changement d'état de la case à cocher.