document.all は、IE 4.0 以降の独自の属性であり、ページ上に表示されるエンティティ オブジェクトだけでなく、HTML コメントなどの一部の非表示オブジェクトも含む、現在のドキュメントのすべてのオブジェクトを表すグループです。 document.all 配列では、要素は階層的ではなく、ドキュメント内に出現する順序に従って並列にリストされます。したがって、数値インデックスを使用して任意の要素を参照できます。ただし、document.all["element"] のように、オブジェクト ID によって特定のオブジェクトを参照するためによく使用されます。
document.layers は Netscape 4.x 専用のプロパティで、
などのストレージによって配置されたすべての要素を表す配列です。通常、 または
オブジェクトの id 属性によって参照されますが、他の要素は含まれません。
実際、これら 2 つの属性は比較できないのですが、これには歴史的な理由があるのかもしれません。第 4 世代のブラウザが登場したとき、Netscape と Microsoft はそれぞれ Navigator 4.x と IE 4.0 を発表しましたが、これら 2 つのブラウザの大きな違いにより、開発者は Web ページをクロスブラウズするという問題に直面することになりました。互換性の悪夢。 Document.layer と document.all は、それぞれこの 2 つの最も顕著な兆候です。ビューアがどのブラウザを使用しているかを判断するには、通常、document.layers と document.all が存在するかどうかによって判断されます。
新しい統一標準では、DOM オブジェクトを参照するために document.getElementById などの一連のメソッドが使用され、Netscape は 6.0 以降、レイヤー機能を放棄しましたが、IE は document.all を保持し続けましたが、これは最終的にはDOM標準。 document.layers と document.all が早く消えて、この標準が人々の心に深く根付くことを願っています。
コード例: