【发布时间】:2010-10-18 13:19:46
【问题描述】:
我的 JSON 对象是这样构造的:
var Source =
{
Object: [ //Array
{Title: 'Test', Type: 'Pet', Category: 'Cat', Description: 'Fluffy', Count: 2 }
]
};
我能够弄清楚如何正确添加到“对象”数组,但我似乎无法弄清楚基于属性列表(标题、类型、类别等)查询对象的 jQuery 语法.
我将一些测试代码放入点击事件中,并通常检查 Source.Object 的长度(测试数据导致 2 个对象)以确认有数据可以使用(它是通过 ajax 调用填充的)。
function clickTest(category, type) {
$(Source).find('Object[Category=\"' + category + '\"]').each(function() {
alert($(this).attr('Category')); //doesn't work
});
}
查询这样的 JSON 对象的正确方法是什么?
【问题讨论】:
-
我不得不说,wtf?
-
对不起,我在这里做错了什么?
-
@C Bauer:你想做什么?你想用 CSS 选择器查询一个 JavaScript 对象吗? CSS 选择器和 jQuery 的大部分方法都是为了在 DOM 上使用。
-
@CBauer:我猜是整件事。我什至不确定你想在这里实现什么。你有一个普通的
javascript object,可以以Source.Object.Category之类的方式访问(名称Object顺便说一句可能是个坏主意,因为它是一个保留字),但你是试图将该对象拉入 jQuery 构造函数以获取什么?来自 javascript 对象的 jQuery 对象? -
@C Bauer:XML 使用 DOM 表示(可以看作是各种 JavaScript 对象的巨大集合)。 JSON 表示没有任何类型的选择器支持或事件的纯 JavaScript 对象。您不需要选择器。您可以使用
.-operator 访问对象的属性。
标签: javascript jquery ajax json data-structures