jQuery从对象集合中删除对象
我有下面的示例代码,创建一个对象集合 如何删除其中一个对象?(例如,$TestList看起来好像“删除我”项从未出现过。 我试过了。删除、.splice、.delete等等,但我听说这不是一个函数 执行typeof($TestList)将返回对象,typeof($TestList[0])似乎也有效 当然,我不必在没有一件物品的情况下重新创建收藏jQuery从对象集合中删除对象,jquery,object,Jquery,Object,我有下面的示例代码,创建一个对象集合 如何删除其中一个对象?(例如,$TestList看起来好像“删除我”项从未出现过。 我试过了。删除、.splice、.delete等等,但我听说这不是一个函数 执行typeof($TestList)将返回对象,typeof($TestList[0])似乎也有效 当然,我不必在没有一件物品的情况下重新创建收藏 (function($) { jQuery.QuickTest = { $TestList: {}, build: function
(function($) {
jQuery.QuickTest = {
$TestList: {},
build: function()
{
$TestList={};
$TestList[0] =
{
title: "part 1"
};
$TestList[1] =
{
title: "delete me please"
};
$TestList[2] =
{
title: "part 2"
};
}
}
jQuery.fn.QuickTest = jQuery.QuickTest.build;
})(jQuery);
$(document).ready(function() {
$().QuickTest(
{
})
});
我们使用的是jQuery1.3
谢谢!使用
删除我的对象,而不是我的对象。删除查看
首先,您的代码应该做什么并不明显,但这里有一些问题:
jQuery.QuickTest = {
$TestList: {},
build: function()
{
$TestList={};
您定义了jQuery.QuickTest.$TestList
,但在build()
中声明了一个全局对象$TestList
在jQuery.fn
下声明的函数应该作用于一组匹配的元素(由this
引用)并返回它;您的函数两者都不起作用
答案
对您的一些问题的回答:
.remove()
是一个jQuery函数,用于从DOM中删除节点,需要在jQuery对象上调用
.splice()
仅适用于数组
,即使您像访问$TestList
一样访问它,它仍然只是一个对象
.delete()
不是我知道的任何函数;-)
可能的解决方案
要从$TestList
中删除条目,您可以按以下方式使用delete
:
delete $TestList[1];
不是从1.4开始才开始工作吗?除此之外,你能和我们分享一下这段代码应该做什么吗?顺便说一句,$TestList
是隐含全局的,这是一个坏主意。@Jack:1.4之前,$()
会返回一个包含文档
元素的jQuery对象。@Matt Ah。。。好吧,这使得这段代码更难理解;-)顺便说一句,这只是javascript,在没有jQuery的情况下也可以工作。我不会完全删除该对象。相反,它将保留为null
。非常感谢!这是我的代码的一个完全精简版本,只有绝对的基础知识,所以是的,它有点开放,所以对此感到抱歉。但是你的解释让我看了很多,所以非常感谢!现在,当你不知道该用什么词的时候,很难找到你想要做的事情。这是我做一个对象的方式,这个对象可用于所有其他函数,而不必到处传递它。而删除正是我所需要的。:-)