【发布时间】:2009-07-17 16:38:31
【问题描述】:
我刚刚开始使用 jquery,我非常喜欢使用选择器。我突然想到,这个成语将是一种非常好的遍历对象树的方式(例如,JSON 查询结果)。例如,如果我有这样的对象:
var obj = { 'foo': 1, 'bar': 2,
'child': { 'baz': [3, 4, 5] }
};
我希望能够编写像 $('child baz:last', obj) 这样的东西并得到 5。我认识到链接不起作用,但我仍然喜欢选择运算符。有谁知道这样的野兽是否存在,或者最简单的方法是什么?
【问题讨论】:
-
有不喜欢obj.child.baz[obj.child.baz.length-1]的原因吗? ?
-
这适用于这个玩具示例,但对于更深的树和更大的对象来说很快就会崩溃。例如,我正在开发一个使用树表示网络数据包的程序,我希望能够编写 $('icmp [code=UNREACHABLE]', packetlist) 来获取无法访问数据包的 ICMP 帧。
标签: javascript jquery css-selectors