我有以下示例代码,创建一个对象集合.
如何删除其中一个对象?(例如,$ 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)并返回它; 你的功能都没有.
答案
回答你的一些问题:
.remove() 是一个jQuery函数,它从DOM中删除节点,需要在jQuery对象上调用.
.splice()只适用于Array,即使您正在访问$TestList,就好像它是一个,它仍然只是一个Object.
.delete() 不是我知道的任何功能;-)
可能解决方案
要从中删除条目,$TestList可以使用delete以下方式:
delete $TestList[1];
Run Code Online (Sandbox Code Playgroud)