我有一个新闻订阅源中的项目是从服务器返回的JSON创建的。当用户对某个项目采取行动时,我想通过javascript将其从对象中移除。删除json属性,其中属性是一个变量
饲料看起来是这样的:
{"newsFeed":[{"feedId":"1",
"title":"item1 title",
"desc":"description of the item"},
{"feedId":"2",
"title":"item2 title",
"desc":"description of the item"}]}
我想删除其中feedId
通过使用jQuery一个变量传递的JSON属性或条目。我不知道究竟我要去哪里错了这里,但我之前和去除的对象后提醒饲料,我得到了同样的答复:
function removeFromFeed(feedId){
var newsFeed=jQuery('div#newsFeed').data('newsFeed');
alert(newsFeed.toSource());
delete newsFeed.feedId[feedId]
jQuery('div#newsFeed').data('newsFeed',newsFeed);
alert(newsFeed.toSource());
}
是啊,我在想这样的事情,但显然JavaScript中已经有了一个可用的删除函数,所以我宁愿使用它,然后迭代变量。 虽然也许我误解了'删除'的用途。 – pedalpete 2010-03-16 17:36:57
删除可用于从数组中删除元素,但删除newsFeed.feedId [feedId]与删除newsFeed [i]'不同。第一个应该删除feedId值而不是整个条目。第二个删除整个对象(id,title,desc)。但是,删除和数组有一个问题。它不会改变它只设置的数组的长度,例如'newsFeed [0]'未定义。因此,我的新解决方案遍历newsFeed项目并使用resigs array删除 – jitter 2010-03-16 17:54:58
感谢您解释抖动。那时候我想过那个。我将使用您提供的代码。 – pedalpete 2010-03-16 19:20:39