docs: function removeElement( element, enterTag, toBeChecked ) {
  		var name = element.name;
  
  		if ( DTD.$empty[ name ] || !element.children.length ) {
  			// Special case - hr in br mode should be replaced with br, not removed.
  			if ( name == 'hr' && enterTag == 'br' )
  				element.replaceWith( createBr() );
  			else {
  				// Parent might become an empty inline specified in $removeEmpty or empty a[href].
  				if ( element.parent )
  					toBeChecked.push( { check: 'it', el: element.parent } );
  
  				element.remove();
  			}
  		} else if ( DTD.$block[ name ] || name == 'tr' ) {
  			if ( enterTag == 'br' )
  				stripBlockBr( element, toBeChecked );
  			else
  				stripBlock( element, enterTag, toBeChecked );
  		}
  		// Special case - elements that may contain CDATA
  		// should be removed completely. <script> is handled
  		// by processProtectedElement().
  		else if ( name == 'style' )
  			element.remove();
  		// The rest of inline elements. May also be the last resort
  		// for some special elements.
  		else {
  			// Parent might become an empty inline specified in $removeEmpty or empty a[href].
  			if ( element.parent )
  				toBeChecked.push( { check: 'it', el: element.parent } );
  			element.replaceWithChildren();
  		}
  	}