4

我正在使用 jQuerydata()函数将数据存储在一系列 div 中,格式类似于:

{ 
    options: {
        example: {
            option_1: {
                value: "example 1"
            },
            option_2: {
                value: "example 2"
            }
        }
    }
}

我可以添加新密钥并更新数据,例如

$("#mydiv").data('options',{'example':{} });    // the object is already created in the live version
$("#mydiv").data('options')['example']['option_3'] = { value: "example 3" };

但是当我开始使用 removeData() 时,FireBug 告诉我密钥未定义,例如

$("#mydiv").removeData('options')['example']['option_2'];

任何帮助表示赞赏!

4

1 回答 1

4

.removeData(name)使用给定的 删除先前存储的数据name,并返回一个jQuery对象。在您的场景中,您不希望删除整个options对象,而只是删除它的特定属性,因此您应该delete改用:

delete $("#mydiv").data('options')['example']['option_2'];
于 2012-09-11T15:28:17.203 回答