помощью jQuery удалить объект из коллекции объектов

У меня есть следующий пример кода создает объект коллекции.

Как удалить один из объектов? (например, $TestList будет выглядеть так, как будто элемента" удалить меня " никогда не было. Я пытался .снимать. ,сращивание. ,удалите etc, но мне сказали, что это не функция.

выполнение 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(
{
})
});

мы используем jQuery 1.3.

спасибо!

2 ответов


комментарий

прежде всего, очень неочевидно, что должен делать ваш код, но вот некоторые проблемы:

jQuery.QuickTest = {
    $TestList: {},
    build: function()
    {
        $TestList={};

определения 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];

использовать delete myObject, а не myObject.delete