Когда мне нужно изменить текст в элементе span, какой из них следует использовать и в чем разница:

var spnDetailDisplay=document.getElementById('spnDetailDisplay');
spnDetailDisplay.innerText=sDetail;

Или

 var spnDetailDisplay=document.getElementById('spnDetailDisplay');
 spnDetailDisplay.childNodes[0].nodeValue=sDetail;
22
pencilCake 19 Ноя 2009 в 03:28

1 ответ

Лучший ответ

Для элементов с текстовым содержимым они одинаковы. См. эту статью о MDC для получения информации о nodeValue.

Из этой статьи:

Если элемент не имеет подэлементов, только текст, тогда он (обычно) имеет один дочерний узел, доступ к которому осуществляется как ElemRef.childNodes[0]. В таком точном случае эквивалент ElemRef.innerText веб-стандартов W3C равен ElemRef.childNodes[0].nodeValue.

17
jtbandes 19 Ноя 2009 в 03:32