ノードを取得する - JavaScript Ajax プログラミング

PROGRAM


ノードを取得する

JavaScript の DOM (Document Object Model) を利用して、HTML や XML のタグ名や ID 名から、それを示すノードを取得することができます。

たとえば、Web ページを構成する HTML データのノード document から、そこに含まれる id="the_node" を持つタグを取得したい場合には、次のようにします。

pNode.= document.getElementById('the_node');

このようにすることで、id="the_node" が設定されているタグをノードとして取得することができました。

 

タグ名からノードを取得したい場合、例えば <div> タグを取得したい場合は、次のようになります。

pNodes.= document.getElementsByTagName('div');

注意点としては、タグ名の場合は同じタグ名が複数存在する場合があるので、ノードも存在する数だけ配列で取得されます。取得で使用する関数名も getElements... というように、Element が複数形になっているところにも注意です。

取得したノードは、次のようにして要素を順次処理することができます。

// div タグを検出します。

pNodes = document.getElementsByTagName('div');

 

// 取得できたノードの数だけ、繰り返し処理を行います。

for (var i =0; i < pNodes.length; i++)

{

// ここで、タグ毎の処理を行います。

 

}

pNodes.length が 0 であれば、指定したタグが見つからなかったということになります。

 

なお、取得したタグの中から、さらにそれが持つタグや ID を検出することも可能です。

例えば pNode に取得したタグの中から、その入れ子となっている a タグを取得するような場合は、次のような感じで取得します。

pTagA = pNode->getElementsByTagName('a');

このほかにも、タグの "class" 属性に設定された名前を使って取得する方法もあるようでしたが、ブラウザーによっては動かないこともありそうだったので、そちらは クラス名からノードを取得する の方で改めて記してみたいと思います。


[ もどる ]