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 回答