使用WHERE方法搜索对象?

时间:2011-04-12 21:11:16

标签: javascript

我有这个来自服务的对象结构:

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对象,以便进一步访问,而不仅仅是字符串名。

谢谢,并且像往常一样,感谢所有帮助

1 个答案:

答案 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" />