「警告: DOM Core 1、2、および 3 では、Attr は Node から継承されました。これは DOM4 には当てはまりません。Attr の実装を仕様に合わせるために、Node から継承しないように変更する作業が進行中です。 . Attr オブジェクトで Node プロパティまたはメソッドを使用しないでください. Gecko 7.0 (Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4) 以降, 削除されるものはコンソールに警告メッセージを出力します. コードを修正する必要があります.完全なリストについては、非推奨のプロパティとメソッドを参照してください。
ページを下にスクロールすると、Attr.name と Attr.value を使用した nodeName と NodeValue の置換が表示されます。
https://developer.mozilla.org/en/DOM/Attr#Deprecated_properties_and_methods
属性や childNodes などの他のメソッドにとって、それは実際には何を意味するのでしょうか? 参照は非推奨であると言っていますが、代替品はありません!
属性では非推奨ですが、ノードでも使用できますか?
Attr オブジェクト: http://www.w3schools.com/jsref/dom_obj_attr.asp
編集: DOM レベル 4 では Attr がノードから継承されなくなるため、nodeValue は属性 (Attr) に対してのみ廃止されます。
理解するのに役立つ簡単な例を次に示します。
<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")
おそらく、これにより、属性/ノードにアクセスするときに他の人が混乱するのを避けることができます:)