dom_remove-class-that-contains.js
/**
* @module removeClassThatContains
* @description Remove all classes from an HTMLElement that contain a particular string.
*
* @since 1.0.0
*
* @param {HTMLElement} el The element to remove classes from.
* @param {string} string The string to remove any classes that contain it from the passed el.
*
* @return {void}
*
* @example
* import { getNodes, openNewTab } from "@gravityforms/utils";
*
* function Example() {
* const node = getNodes( 'example' )[ 0 ];
* node.classList.add( 'gform-block' );
* node.classList.add( 'gform-block--red' );
* node.classList.add( 'block' );
* node.classList.add( 'width-auto' );
*
* removeClassThatContains( node, 'gform' );
* console.log( node.classList );
* }
*
*/
export default function removeClassThatContains( el, string = '' ) {
for ( let i = 0; i < el.classList.length; i++ ) {
if ( el.classList.item( i ).indexOf( string ) !== -1 ) {
el.classList.remove( el.classList.item( i ) );
}
}
}