我有这个来自服务的对象结构:
var response ={"results": [
{"name":"peter" , "habits":"smoking" , "imgID":"something_unique"},
{"name":"paul" , "habits":"drinking" , "imgID":"something_unique"},
{"name":"patrick" , "habits":"gambling" , "imgID":"something_unique"}
]}
我迭代对象并创建由click事件监听的div:
for(var prop in response) {
if(response.hasOwnProperty(prop))
{
this.div.insert(new Element('div', {'className': '' })
.insert('<img id="'+imgID+'" src="/img.jpg" width=70 height=70 /> ')
);
在我的回调中,我可以从对象产生的事件中访问id:
function callback (event) { console.log(event.id) ; var compare_ID=event.id }
但是,在我的回调中,我需要获取被点击的一个特定对象的数组var名称。所以在概念上,我希望这样做:
在回调中,迭代response
对象,然后选择results[i]
,imgID
为== event.id return response
对象,以便进一步访问,而不仅仅是字符串名。
谢谢,并且像往常一样,感谢所有帮助
答案 0 :(得分:0)
您可以使用data-* attributes来存储对象的数字或键,或实际值。我认为这会有所帮助。
E.g:
<img id="something_unique" src="/img.jpg" width=70 height=70 data-result-number="1" />
或
<img id="something_unique" src="/img.jpg" width=70 height=70 data-name="peter" data-habits="smoking" />