jQuery从对象集合中删除对象

Ric*_*use 6 jquery object

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

如何删除其中一个对象?(例如,$ TestList看起来似乎"删除我"项目从未出现过.我已经尝试过.remove,.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(
{
})
});
Run Code Online (Sandbox Code Playgroud)

我们正在使用jQuery 1.3.

谢谢!

Ja͢*_*͢ck 10

评论

首先,你的代码应该做什么是非常明显的,但是这里有一些问题:

jQuery.QuickTest = {
    $TestList: {},
    build: function()
    {
        $TestList={};
Run Code Online (Sandbox Code Playgroud)

你定义jQuery.QuickTest.$TestList,但在build()你内部声明一个全局对象$TestList.

声明的函数jQuery.fn应该作用于一组匹配的元素(引用this)并返回它; 你的功能都没有.

答案

回答你的一些问题:

  1. .remove() 是一个jQuery函数,它从DOM中删除节点,需要在jQuery对象上调用.

  2. .splice()只适用于Array,即使您正在访问$TestList,就好像它是一个,它仍然只是一个Object.

  3. .delete() 不是我知道的任何功能;-)

可能解决方案

要从中删除条目,$TestList可以使用delete以下方式:

delete $TestList[1];
Run Code Online (Sandbox Code Playgroud)


Mic*_*iel 7

使用delete myObject,而不是myObject.delete