2012-03-19 6 views
0

テーブルを使ってウェブサイト上のデータを視覚化するSafari拡張機能を作成しようとしています。だから、私は少しJavaScriptを行うデータ計算する:Safari拡張機能でのDOMの変更

var table; 
table = document.body.getElementsByClassName('summary'); 
console.log(table); 

var rows = table.getElementsByTagName('tr'); 
console.log(rows); 

二行は正常に動作しますが、5行目のために、私はこのエラーを取得する:

TypeError: 'undefined' is not a function (evaluating 'table.getElementsByTagName('tr')')

それはなぜですか? Whithコード:

document.body.getElementsByClassName('summary').getElementsByTagName('tr'); 

これは同じです。

私の間違いは何ですか?最初に見つかった表は何が必要であれば var rows = table[0].getElementsByTagName('tr');が、何のテーブルが2行目に見つからないようです:あなたはこの配列からテーブルを選択する必要がありますので、

答えて

3

getElementsByClassNameこの方法は、あなたの配列を返します。

+0

これだけです!どうもありがとうございました! IamはまだJavaScriptでうまくいきません。 :-) – Juuro

+3

マイナーな修正:getElementsByClassNameの結果は実際の配列ではなく、[NodeList](https://developer.mozilla.org/en/DOM/NodeList)です。これは配列のようなオブジェクトです。 NodeListにpopやforEachのような配列メソッドを使わないでください。 – canisbos

関連する問題