let items = document.body.querySelectorAll( '.my-class-1' ); let length = items.length; const TEXT_CONTENT_PATTERN = "user-2"; for( let i = 0; i < length; i++ ){ let item = items[ i ]; console.log(item.textContent) if( item.textContent === TEXT_CONTENT_PATTERN ){ if( item.classList.contains( 'my-class-1' ) ){ item.classList.remove( 'my-class-1' ); } item.classList.add( 'my-class-2' ); } }
Or if the conditions are exactly the same as you brought up in the question, then you can write shorter -
document.body.querySelectorAll( '.my-class-1' ) .forEach( item => item.textContent === "user-2" ? item.className = "my-class-2" : null );
Or even like this -
document.body.querySelectorAll( '.my-class-1' ) .forEach( item => item.textContent === "user-2" && (item.className = "my-class-2") );