jQuery将项添加到对象

时间:2015-09-01 15:24:29

标签: jquery

艰难的一天,甚至无法弄清楚如何将物品添加到物体中。

var holder = {};

我尝试过以下方法将项目添加到对象:

function AddToHolder(questionid, customerid) {
        $(holder).extend({
            questionid: questionid,
            customerid: customerid
        });
        console.log(holder);
    }

这将返回空

 function AddToHolder(questionid, customerid) {
        holder.questionid = questionid;
        holder.customerid = customerid;
        console.log(holder);
    }

这会覆盖该对象,因此它不会添加,而是覆盖

2 个答案:

答案 0 :(得分:1)

$(holder).extend并没有完全按照您的意愿行事。你正在做的是扩展包含holder的jQuery对象。例如:

var $holder = $(holder).extend({
    testing: 2
});

console.log($holder.testing); // Shows 2

如果要扩展普通对象而不将其包装在jQuery中,可以使用$.extend

// Option 1 - Modify the original object
$.extend(holder, { test: 2 });

// Option 2 - Create a new object without modifying the original
var newHolder = $.extend({}, holder, { test: 2 });

答案 1 :(得分:1)

Jquery Extend就像这样工作

function AddToHolder(origin, questionid, customerid) {
    $.extend(origin, {
        questionid: questionid,
        customerid: customerid
    });
    console.log(origin);
}

要注意不要覆盖,只需检查属性是否存在

function AddToHolder(questionid, customerid) {
    if(!holder.questionid){
         //assign
    }
}