0
var myeleArr = {
                    advertiser :{},
                    campaign :{},
                    strategy :{},
            };

我想在 myeleArr.campaign 对象中插入一些字符串,所以我按如下所示进行操作,但控制台显示为Object # has no method 'push'

myeleArr.campaign.push('<span class="'+myele['status']+'"></span>'+myele['name']+'');

一些身体可以帮助我。

4

4 回答 4

1

如果您打算将活动设置为字符串,则设置

myeleArr.campaign = "my string";

如果您打算让活动按顺序保存一堆字符串,其中不按名称引用字符串,则将其设为数组:

myeleArr.campaign = [];
myeleArr.campaign.push("My String");
myeleArr.campaign[0]; // "My String"

如果您打算让活动按名称保存一堆字符串,则将您当前的活动对象命名为属性,并将每个命名属性设置为字符串:

myeleArr.campaign = {
    title : "My Title",
    type  : "Campaign Type",
    description : "Campaign Description",
    num_managers : 7,
    isActive : true
};

myeleArr.campaign.title; // "My Title"
于 2012-10-09T16:48:02.003 回答
0

push函数用于将项目添加到数组中,但campain未定义为数组。

试试这个:

 var myeleArr = {
        advertiser :{},
        campaign :[], // this makes an array
        strategy :{},
 };

或者,如果您只想在 中具有一个值campaign,请不要使用push,而只是简单地使用

myeleArr.campaign = '<spa...
于 2012-10-09T16:40:11.207 回答
0

将广告系列设为array而不是object。因为 push 是数组而不是对象的方法

campaign :[],
于 2012-10-09T16:52:40.167 回答
0

push方法适用于 javascript 数组。因此,如果您更改活动等键以指向数组文字,而不是对象文字,您将能够推送。IE -

var myFoo = { advertiser: [], campaign: [], strategy: [] };
myFoo.campaign.push('my stuff');

此外,如果您只想为广告系列分配一个字符串,您可以简单地 -

var myeleArr = {};
myeleArr.campaign = "<span>...";

在 Google Chrome 下的开发人员工具中检查 javascript 控制台,或安装 nodejs,当您不确定时,两者都是尝试这些东西的好地方。

于 2012-10-09T16:42:12.283 回答