【发布时间】:2011-01-14 11:26:20
【问题描述】:
我正在编写一个 jquery 插件,它会在某些用户操作上更改某些元素的 css 值。 在其他操作中,css 值应重置为其初始值。
由于我没有办法取回初始的 css 值,所以我只是创建了一个数组来存储所有初始值。
我这样做了:
var initialCSSValue = new Array()
在我的插件开始时,后来,在某种设置循环中,我使用了所有元素都可以访问的地方
initialCSSValue[$(this)] = parseInt($(this).css('<CSS-attribute>'));
这在 Firefox 中运行良好。 但是,我刚刚发现,IE(甚至是 v8)在再次使用访问某个值时存在问题
initialCSSValue[$(this)]
代码中的其他地方。我认为这是因为我使用对象 ($(this)) 作为变量名。
有没有办法解决这个问题?
谢谢
【问题讨论】:
-
一件事:您正在实例化一个
Array对象,但是您并没有将它用作Array。您应该改为使用裸对象。在 JavaScript 中,数组由数字索引。如果您没有按数字索引,那么您就没有使用数组。 JavaScript 不是一种支持关联数组的语言。有关此主题的更多信息(迄今为止我发现的最佳资源):blog.persistent.info/2004/08/javascript-associative-arrays.html -
是的,你是对的 - 我还读到 js 中所谓的关联数组是对象,但不是真正的数组。
标签: javascript jquery internet-explorer this default-value