document.getElementByIdDOMを使用していますdocument.getElementByTagname 。それらはDOM内のオブジェクト(具体的にはドキュメントオブジェクトですが、要素の両方を呼び出すこともできます)を取り、それぞれ単一の要素または0個以上の要素のコレクションであるオブジェクトを返します。これはDOM操作です。そこから、子、親、兄弟の取得、値の変更など、結果に対して他のDOM操作を実行できます。
すべてのDOM操作は次のようになります。
- 出発点を取ります。これはよくあること
documentですが、私たちが最初に行うことは、電話をかけるdocument.getElementByIdかdocument.getElementByTagname、結果から作業することであり、それが出発点であると本当に考えることができます。
startingPoint.getElementById*を介して、またはstartingPoing.getElementByTagnameおそらくいくつかのテストと組み合わせて(たとえばclassname、特定のタイプの子がある場合は、特定の要素でのみ作業するなど)、開始点に関連して、関心のある1つまたは複数の要素を見つけます。
- 特定の値を読み取ったり変更したり、新しい子ノードを追加したり、ノードを削除したりします。
document.getElementById(someID)あなたのような場合、開始点は、、、または同様のものによって検出された1つ以上のテーブルになりますdocument.getElementById(someID).getElementsByTagname('table')[0]。その表からmyTable.getElementsByTagname('th')、列見出しを取得します。構造とそれを使って何をしているのかに応じて、各行から対応する要素を選択するmyTable.getElementsByTagname('td')か、各行を調べてから作業することができますcurRow.getElementsByTagname('td')。firstChild、などを使用することもできますが、childNodes通常は、気にしない要素をタグ名で除外する方が便利です。
*ドキュメント内に指定されたIDを持つ要素は1つしか存在できないため、ドキュメント階層の上位の要素で呼び出された場合、これは同じものを返します。したがって、通常はこれをで呼び出しますdocument。要素が現在の要素の子孫である場合に何かを実行したい場合は、要素に対してそれを呼び出すと便利です。それ以外の場合はそうではありません。