Dom\TokenList::toggle

Toggles the presence of a token in the list

Description

public bool Dom\TokenList::toggle(string $token, boolnull $force = null)

Toggles the presence of token in the list.

Parameters

token
The token to toggle.
force
If force is provided, setting it to true will add the token, and setting it to false will remove the token.

Return Values

Returns true if the token is in the list after the call, false otherwise.

Errors/Exceptions

  • Throws a ValueError if a token contains any null bytes.
  • Throws a Dom\DOMException with code Dom\SYNTAX_ERR if a token is the empty string.
  • Throws a Dom\DOMException with code Dom\INVALID_CHARACTER_ERR if a token contains any ASCII whitespace.

Examples

Example #1 Dom\TokenList::toggle example

Toggles three classes, two without force, and one with.

<?php
$dom = Dom\HTMLDocument::createFromString('<p class="font-bold important"></p>', LIBXML_NOERROR);
$p = $dom->body->firstChild;

$classList = $p->classList;
$classList->toggle('font-bold', 'font-small');
$classList->toggle('important', force: true);

echo $dom->saveHtml($p);
?>

The above example will output:

<p class="font-bold important"></p>