【发布时间】:2010-12-15 21:50:57
【问题描述】:
我正在做一个返回 XML 数据的 AJAX 调用,这是我的“成功:”函数(回调):
success: function (data) {
var $rowArray = $(data).find("[nodeName=z:row]");
$rowArray.each(function(index) { // for each date put it into calMap.
calMap[$(this)[index].title] = $(this).attr("ows_Title");
calMap[$(this)[index].date] = $(this).attr("ows_EventDate");
});
}
calMap 是在函数外部声明的全局 javascript 对象。
var calMap = {};
我想要做的是创建一个函数,我可以在其中传递 title,让它搜索 calMap 以查找该标题,如果找到,则特定对象是返回,我将能够访问该对象的 date 属性。
问题是,我似乎无法访问我插入到 calMap 对象中的数据。首先,我只想打印地图。尝试eval,尝试警告calMap[0],尝试警告calMap[0].title,但没有。有人可以帮我弄这个吗?谢谢!
更新: 我想做这样的事情:
var data = getData("myTitle");
function getData(title) {
// if title is in calMap, something like this?
var result = (calMap[title]));
return result; // returns an object or NOTHING
}
然后我会检查是否定义了日期,如果是,我将访问它的属性(即。data.date。这有意义吗?
回答: 我最终使用了一个数组。仍然认为我应该能够使用对象 MAP,但需要完成我的项目。
这是访问数组项的代码的最终代码:
function hasCalDate(code)
{
var matched = "";
for (var f=0;f<calMap.length;f++){
var re = new RegExp(code);
if (re.test(calMap[f].title))
{
matched = calMap[f].title+','+calMap[f].date;
}
}
return matched;
};
谢谢大家。
【问题讨论】:
-
先尝试在chrome或firebug中使用console.log(calMap)
-
哦,是的,控制台很棒。结果我得到了一系列对象。
标签: javascript jquery object properties map