jQuery从对象集合中删除对象

jQuery从对象集合中删除对象,jquery,object,Jquery,Object,我有下面的示例代码,创建一个对象集合 如何删除其中一个对象?(例如,$TestList看起来好像“删除我”项从未出现过。 我试过了。删除、.splice、.delete等等,但我听说这不是一个函数 执行typeof($TestList)将返回对象,typeof($TestList[0])似乎也有效 当然,我不必在没有一件物品的情况下重新创建收藏 (function($) { jQuery.QuickTest = { $TestList: {}, build: function

我有下面的示例代码,创建一个对象集合

如何删除其中一个对象?(例如,$TestList看起来好像“删除我”项从未出现过。 我试过了。删除、.splice、.delete等等,但我听说这不是一个函数

执行typeof($TestList)将返回对象,typeof($TestList[0])似乎也有效

当然,我不必在没有一件物品的情况下重新创建收藏

(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
    。非常感谢!这是我的代码的一个完全精简版本,只有绝对的基础知识,所以是的,它有点开放,所以对此感到抱歉。但是你的解释让我看了很多,所以非常感谢!现在,当你不知道该用什么词的时候,很难找到你想要做的事情。这是我做一个对象的方式,这个对象可用于所有其他函数,而不必到处传递它。而删除正是我所需要的。:-)