revision:
The toggleAttribute() method of the Element interface toggles a Boolean attribute (removing it if it is present and adding it if it is not present) on the given element.
element.toggleAttribute(name) element.toggleAttribute(name, force)
Parameters:
name : a string specifying the name of the attribute to be toggled. The attribute name is automatically converted to all lower-case when toggleAttribute() is called on an HTML element in an HTML document.
force : optional. A boolean value which has the following effects:
if not specified at all, the "toggleAttribute" method "toggles" the attribute named "name" — removing it if it is present, or else adding it if it is not present.
if true, the toggleAttribute method adds an attribute named "name".
if false, the toggleAttribute method removes the attribute named "name"
<input value="text"> <button>toggleAttribute("readonly")</button> <script> var button = document.querySelector("button"); var input = document.querySelector("input"); button.addEventListener("click", function(){ input.toggleAttribute("readonly"); }); </script>
<div> <input value="text" /> <button>toggleAttribute("disabled")</button> </div> <script> const button = document.querySelector("button"); const input = document.querySelector("input"); button.addEventListener("click", () => { input.toggleAttribute("disabled"); }); </script>