The toggleAttribute() method of the ProcessingInstruction interface toggles a boolean attribute on the given processing instruction, removing it if present and adding it if not present.
toggleAttribute(name)
toggleAttribute(name, force)nameA string specifying the name of the attribute to be toggled.
force OptionalA boolean value that has the following effects:
true, the attribute is added if it is not present, but it isn't removed if it is present.false, the attribute is removed if it is present, but it isn't added if it is not present.true if the attribute is present after the toggleAttribute() operation completes, and false if not.
InvalidCharacterError DOMExceptionThe specified attribute name contains one or more characters that are not valid in attribute names. The name must have at least one character, and may not contain ASCII whitespace, NULL, /, = or > (U+0000, U+002F, U+003D, or U+003E, respectively).
const pi = document.createProcessingInstruction("start", 'name=""');
pi.toggleAttribute("name");
pi.toggleAttribute("surname");
console.log(pi);
// logs:
// <?start surname=""?>