如何在jquery中动态设置属性?

时间:2015-07-09 20:52:59

标签: javascript jquery toastr

我正在使用toastr并希望使用从ajax调用返回的json对象设置选项。我在动态设置options属性和值时遇到了一些麻烦。以下是示例代码:

if(data.toast){
    $.each(data.toast, function(index, element) {
    toastr.options.index = element;
    });
}

data.toast是一个json对象,如下所示:

"toast":{"closeButton":true}

如果我硬编码它会是什么样子:

toastr.options.closeButton = true;

我应该如何更改迭代器中的.index,以便将其作为变量进行评估

1 个答案:

答案 0 :(得分:1)

if(data.toast){
    $.each(data.toast, function(index, element) {
    toastr.options[index] = element;
    });
}

options.index方式执行此操作会尝试访问index的属性而不是索引的的属性。

上述方法将解决这个问题。它将对象视为一种关联数组。因此toastr.options[index]评估为toastr.options["closeButton"],与toastr.options.closeButton相同。