document.getElementById
DOMを使用しています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
。要素が現在の要素の子孫である場合に何かを実行したい場合は、要素に対してそれを呼び出すと便利です。それ以外の場合はそうではありません。