Вы до сих пор не сказали, где и как вы используете filters.arr[0]
, без которого вам очень трудно помочь.
Предполагая, что ваш код использует его, выглядит примерно так:
AddFilter($("#theElement"));
display(typeof filters.arr[0]);
filters.arr[0].element.css("color", "blue");
Это должно работать; живой пример .
Моя единственная мысль - если AddFilter
и filters
не определены в одной и той же области видимости. Вы используете filters
в AddFilter
, поэтому AddFilter
должен быть определен в той же области, что и filters
(или в подобласти). Так что это будет хорошо:
var filters;
function AddFilter() { ... }
А это
function AddFilter() { ... }
var filters;
А это
var filters;
$(function() {
function AddFilter() { ... }
});
но не
function AddFilter() { ... }
$(function() {
var filters;
// ...
});
... потому что в последнем случае AddFilter
определяется вне области действия, в которой определено filters
.