Dom\Element::getElementsByClassName
Returns a collection of descendant elements that have the given classes
Description
Returns a Dom\HTMLCollection of the descendants of this element, in document order, whose class attribute contains all the classes given in classNames. The element itself is never part of the collection.
Parameters
classNamesOne or more class names separated by ASCII whitespace. An element only matches if it has every one of these classes, in any order.
Class names are compared case-sensitively, unless the document is in quirks mode, in which case the comparison is ASCII case-insensitive.
Return Values
Returns a Dom\HTMLCollection of the matching elements. The collection is empty if no element matches, or if classNames contains no class name, for example when it is an empty string or only whitespace.
Errors/Exceptions
Throws a ValueError if classNames contains a null byte.
Examples
Dom\Element::getElementsByClassName example
<?php
$dom = Dom\HTMLDocument::createFromString(
'<body><div id="list">'
. '<p class="item new">One</p>'
. '<p class="item">Two</p>'
. '<p class="Item">Three</p>'
. '</div></body>',
LIBXML_NOERROR
);
$list = $dom->getElementById('list');
foreach ($list->getElementsByClassName('new item') as $element) {
echo $element->textContent, "\n";
}
echo $list->getElementsByClassName('item')->length, "\n";The above example will output:
One
2See Also
Dom\ParentNode::querySelectorAll- Dom\Element::$classList
Dom\TokenList