2016-04-14 25 views
1

きれいなテーブルを作成するためにhandsontableライブラリを使用しています。
私は文字通りのチュートリアルが、コンソール(Web開発者コンソールを)コピーは私に次のエラーを与える:私はの.cssと.jsファイルの両方が<head>タグで正しくファイルJavascript Handsontable - キャッチされていないTypeError:未定義の 'insertBefore'プロパティを読み取ることができません。

Uncaught TypeError: Cannot read property 'insertBefore' of undefined    
handsontable.full.js:4471 

リンクします。

マイジャバスクリプトは次のようになります。

var data = [ 
    ["", "Ford", "Volvo", "Toyota", "Honda"], 
    ["2016", 10, 11, 12, 13], 
    ["2017", 20, 11, 14, 13], 
    ["2018", 30, 15, 12, 13] 
]; 

var container = document.getElementById('temp'); 
var hot = new Handsontable(container, { 
    data: data, 
    rowHeaders: true, 
    colHeaders: true, 
    dropdownMenu: true 
}); 

HTML:handsontable.full.jsで

<div id="temp"></div> 

ライン4471は、テーブルが表示されていない

rootElement.insertBefore(this.container, rootElement.firstChild); 

、ありますコンソールにエラーがあります。

+0

私の推測では、要素がページに存在する前にそれを読み取ろうとしています。コードonloadを呼び出すか、ページの要素の後にコードを挿入します。 – epascarello

答えて

2

それは未定義あなた

document.getElementById('temp'); 

リターンのようになります。

Handsontableの作成時にコンテナ要素がまだ存在することを確認してください。

+0

あなたは正しいです。私は自分のコンテンツを動的にロードしていて、コンテンツがロードされる前にスクリプトが呼び出されていたので、divは存在しませんでした。 – Dubb

0

rootElementの参照は未定義です。この変数がどこに定義されているか、それが割り当てられている場所を確認してください。

関連する問題