«Предупреждение: в DOM Core 1, 2 и 3 Attr унаследован от Node. В DOM4 это уже не так. Чтобы привести реализацию Attr в соответствие со спецификацией, ведутся работы по его изменению, чтобы он больше не наследовал от Node. . Вы не должны использовать какие-либо свойства или методы Node для объектов Attr. Начиная с Gecko 7.0 (Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4) те, которые будут удалены, выводят предупреждающие сообщения на консоль. Вам следует пересмотреть свой код. соответственно. Полный список см. в разделе Устаревшие свойства и методы».
Прокрутив страницу вниз, мы можем увидеть замены для nodeName и NodeValue, используя Attr.name и Attr.value.
https://developer.mozilla.org/en/DOM/Attr#Deprecated_properties_and_methods
Что это на самом деле означает для других методов, таких как атрибуты или дочерние узлы? Ссылка говорит, что он устарел, но они не дают никакой замены!
Он устарел для атрибута, но подходит ли он и для узла?
Объект атрибута: http://www.w3schools.com/jsref/dom_obj_attr.asp
Редактировать: nodeValue будет ТОЛЬКО устаревшим для атрибутов (Attr), поскольку Attr больше не будет наследоваться от узла на уровне DOM 4:
Вот краткий пример, который помог мне понять:
<div id="myAttribute">myTextNode</div>
var myDiv = document.getElementById("myAttribute");
// If you want to get "myAttribute" from div tag
alert(myDiv.attributes[0].value);
// Correct way to get value of an attribute (displays "myAttribute")
alert(myDiv.attributes[0].nodeValue);
// Working too but deprecated method for Attr since it doesn't inherit from Node in DOM4 (.nodeValue is specific to a Node, not an Attribute)
// If you want to get "myTextNode" from div tag
alert(myDiv.childNodes[0].value);
// Not working since .value is specific to an attribute, not a Node (displays "undefined")
alert(myDiv.childNodes[0].nodeValue);
// Working, .nodeValue is the correct way to get the value of a Node, it will not be deprecated for Nodes! (displays "myTextNode")
Возможно, это позволит избежать путаницы для других при доступе к атрибутам/узлам :)