| 
		
			Сообщение от Aetae
			
		
	 | 
	| 
		В хроме трюк не получится, у него баг(ФИЧА!!!111) с отрисовкой при alert.
	 | 
	
 Так вы определитесь с насекомыми! А в Chrome всё ОК!
	
	| 
		
			Сообщение от Andriy_co2020k29z8d23
			
		
	 | 
	| 
		можно как-то это обойти??
	 | 
	
 А зачем обходить, используйте асинхронную функцию!
	
	| 
		
			Сообщение от рони
			
		
	 | 
	| 
		не бывает элементов списка(массива) с индексом равным length этого списка(массива)
	 | 
	
 Используйте цикл for-of и таких проблем не будет!
	
	| 
		
			Сообщение от Aetae
			
		
	 | 
	| 
		так и говорите - баг.
	 | 
	
 Какой «баг»? Зачем эта борьба?
 
Andriy_co2020k29z8d23, alert является «блокирующей скрипты» функцией, т. е. если вы хотите увидеть применение стилей, вам следует «немного» подождать!
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
</head>
<body>
	<ul>
		<li>red</li>
		<li>green</li>
		<li>yellow</li>
		<li>coral</li>
		<li>gray</li>
		<li>violet</li>
	</ul>
	<script>
		async function pseudoAsyncAlert(text) {
			await new Promise(resolve => {
				setTimeout(() => {
					alert(text);
					resolve();
				}, 50);
			});
		}
		async function main() {
			for (const item of document.getElementsByTagName("li")) {
				item.style.backgroundColor = item.textContent;
				await pseudoAsyncAlert(item.textContent);
			}
		}
		document.addEventListener("DOMContentLoaded", main);
	</script>
</body>
</html>
	
	| 
		
			Сообщение от Aetae
			
		
	 | 
	| 
		В реальной жизни такое никогда не потребуется.
	 | 
	
 А laimas аж вспотел, пока доказывал полезность блокирующих модальных окон в IE...