2017-01-16 25 views
0

最後に読み込まれているjavascriptファイルがあります。ファイルでは、このコードが実行されます。Uncaught TypeError未定義の 'top'プロパティを設定できません

var x = document.getElementById("bildfram1").offsetHeight; 

document.getElementsByTagName("header").style.top = "calc(x/2)"; 

しかし、私は、コンソールにこのエラーが表示されます。

Uncaught TypeError: Cannot set property 'top' of undefined

この問題を解決する方法上の任意のヘルプ! ありがとうございます!

+2

[Javascript | Uncaught TypeError:未定義のプロパティ 'color'を設定できません](http://stackoverflow.com/questions/30232423/javascript-uncaught-typeerror-cannot-set-property-color-of-undefined) –

+1

可能な複製querySelectorAll、getElementsByClassNameおよび他のgetElementsBy \ *メソッドから返されますか?](http://stackoverflow.com/questions/10693845/what-do-queryselectorall-getelementsbyclassname-and-other-getelementsby-method) – Xufox

答えて

0

getElementsByTagNameは、要素(配列のようなオブジェクト)のHTMLCollectionを返します。

このため、特定のインデックスをターゲットにする必要があります。

document.getElementsByTagName('header')[0].style.top = "calc(x/2)"

calc実験的な技術です。単純な除算をすべて行う必要がある場合は、あらかじめそれを実行する必要があります。

var division = val/2; 
document.getElementByTagName('header')[0].style.top = divison + 'px' 
関連する問題