0

私は配列をそのように宣言しています

var positions = [];

また

var positions = new array();

どちらの方法でも機能します

スクリプトの後半で値が追加されます

positions[0].top = 0;

ie7 がこのエラーを受け取ることを除いて、すべてのブラウザーですべて問題ありません

Error: Unable to set value of the property 'top': object is null or undefined

IE7でarraを設定する別の方法はありますか?

4

2 に答える 2

1

JavaScript 関数 push() が必要です。全面的にこのようにすべきです。

  var positions = ["something", "somethign else"];
  positions.push("something new");

.top私が信じているほとんどの dom 要素のプロパティですが、この配列には適していません。

于 2013-02-15T17:47:42.220 に答える
0

配列にプッシュするのではなく、オブジェクト値を追加しようとしています。配列を使用しようとしている場合は、.push()を使用する必要があります。

var positions = [];
    positions.push(value);
    positions.push(value2);

したがって、上記のコードでは、valueで利用可能になり、で利用可能にpositions[0]なりvalue2ますpositions[1]

ただし、次のようにアクセスできるオブジェクトを作成しようとしている場合は、次のようになります。

position.top;
position.bottom;
etc.

次に、代わりにオブジェクトを作成する必要があります。

var positions = {};
    positions.top = 0;
    positions.bottom = 20;
于 2013-02-15T17:51:15.843 に答える