2010-12-27 29 views
1
var bod = document.getElementsByTagName(body); 
bod.innerHTML = "Hi"; 
+1

getElementsByTagNameの要素の配列ではなく、要素を返します。 –

+1

このdocument.body.innerHTML = "Hi"を試してください。 – miqbal

+0

@Marc - 配列ではなく 'NodeList'を返します:) –

答えて

2

あなたが不足している引用符:

var bod = document.getElementsByTagName('body')[0]; 
bod.innerHTML = "Hi"; 

それとも次のことができます。

var bod = document.getElementsByTagName(body); 
----------------------------------------^ 

getElementsByTagNameによってNodeListリターンではなくbody自体を得るために最後に[0]の追加でこれを試してみてくださいこの短いバージョンに進む:

var bod = document.body; 
bod.innerHTML = "Hi"; 

あるいは短い:

document.body.innerHTML = "Hi"; 
+1

明らかに、それは*配列ではなく*配列*のように、実際は 'NodeList'です。 –

+0

@Nick Craver:それを指摘してくれてありがとう、ありがとう: – Sarfraz

+0

パーフェクト。ありがとう! – DarkLightA

4

1 - >あなたは、文字列

2 - としてはtagNameを提供する必要が>あなたは返さ(nodelistと)コレクションの最初の要素を選択する必要が

var bod = document.getElementsByTagName('body')[0]; 
bod.innerHTML = "Hi"; 
+0

ここではSOエディタの奇妙な動作に気付きました。番号付きリストの書式設定コードがもう機能しなくなったため、 - >。 – KooiInc

1

getElementsByTagName()メソッドは、指定された名前を持つすべての要素のNodeListを返すためです。言い換えれば、これはList(配列のようなもの)を返すので、この場合は最初の要素を取得する必要があります。

var bod = document.getElementsByTagName('body')[0]; 
bod.innerHTML = "Hi"; 
関連する問題