Разница elem[0] и elem.firstChild 
		
		
		
		Добрый день. 
	Расскажите мне пожалуйста о разнице 
<!DOCTYPE HTML>
<html>
<head><meta charset="utf-8"></head>
<body>
<div>
///
</div>
<p>Привет<b>Как дела?</b>test</p>
<a href=''>Привет</a>
<script>
	var parent  = document.body.children[1].children[0];
	var newb = document.createElement('b');
	newb.innerHTML = ('дополнение');
	
	parent.insertBefore(newb,parent.firstChild);
</script>
</body>
</html>
и 
<!DOCTYPE HTML>
<html>
<head><meta charset="utf-8"></head>
<body>
<div>
///
</div>
<p>Привет<b>Как дела?</b>test</p>
<a href=''>Привет</a>
<script>
	var parent  = document.body.children[1].children[0];
	var newb = document.createElement('b');
	newb.innerHTML = ('дополнение');
	
	parent.insertBefore(newb,parent[0]);
</script>
</body>
</html>
Одно вставляет "дополнение" перед "Как дела", а другое после. Не понимаю, почему так происходит. И буду рад услышать совет, как упростить это: var parent = document.body.children[1].children[0] , ибо учу js второй день. Спасибо.  | 
	
		
 в одно из них может попасть HTML комментарий, или текстовый элемент, которые тоже являются элементами, и тогда firstChild не будет таким же, что и children 
	
<body>
<!-- комментарий -->
<b>элемент</b>
</body>
<script>
    alert( 'firstChild: ' + document.body.firstChild + '\n' + 'children[0]' + document.body.children[0]  );
</script>
<body>
просто текст
<b>элемент</b>
</body>
<script>
    alert( 'firstChild: ' + document.body.firstChild + '\n' + 'children[0]' + document.body.children[0]  );
</script>
 | 
	
		
 Исчерпывающий ответ. Спасибо. 
	 | 
| Часовой пояс GMT +3, время: 16:53. |