ProcessingInstruction: toggleAttribute() method
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Want more browser support for this feature? Tell us why.
Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
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.
Syntax
toggleAttribute(name)
toggleAttribute(name, force)
Parameters
name-
A string specifying the name of the attribute to be toggled.
forceOptional-
A boolean value that has the following effects:
- If not specified at all, the attribute is removed if it is present and added if it is not present.
- If set to
true, the attribute is added if it is not present, but it isn't removed if it is present. - If set to
false, the attribute is removed if it is present, but it isn't added if it is not present.
Return value
true if the attribute is present after the toggleAttribute() operation completes, and false if not.
Exceptions
InvalidCharacterErrorDOMException-
The specified attribute
namecontains one or more characters that are not valid in attribute names. Thenamemust have at least one character, and may not contain ASCII whitespace,NULL,/,=or>(U+0000, U+002F, U+003D, or U+003E, respectively).
Examples
>Basic usage
const pi = document.createProcessingInstruction("start", 'name=""');
pi.toggleAttribute("name");
pi.toggleAttribute("surname");
console.log(pi);
// logs:
// <?start surname=""?>
Specifications
| Specification |
|---|
| DOM> # dom-processinginstruction-toggleattribute> |