使用嵌套数据的jQuery removeData()

时间:2012-09-11 15:21:18

标签: javascript jquery

我正在使用jQuery data()函数以类似于以下格式的数据存储一系列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'];

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:4)

.removeData(name)使用给定的name删除以前存储的数据,并返回 jQuery 对象。在您的方案中,您不希望删除整个options对象,只删除它的特定属性,因此您应该使用delete代替:

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