| 
	
	
		
		
		
		
		 if(i % 4 == 3) elements[i].parentNode.removeChild(elements[i - 1]); 
а 
elements[i].textContent.replace(/question more/g, "<a href=\"http://example.com\">It's</a> question more" ); 
а начало цикла равно elements.length. 
 
Что вы хотите сделать? Нет элемента с индексом elements.length, а значит будет ошибка. А вот элемент с индексом i - 1 будет, но если elements[i-1].textContent, то в чем требуется замена? 
 
Разберитесь какой индекс нужен и ошибок не будет. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 |