以此JSON对象为例:
"pages": {
"start": {
....
},
"page1": {
....
},
"page2": {
....
},
....
}
现在通过jQuery ajax函数,我加载上面的JSON对象并将其结果保存到变量中。到现在为止还挺好。 然后我有一些像这样的HTML:
<div class="container" page-data="start">
<h2></h2>
</div>
<div class="container" page-data="start">
<h2></h2>
</div>
<div class="container" page-data="page1">
<h2></h2>
</div>
<div class="container" page-data="page2">
<h2></h2>
</div>
现在我写了这个函数来使用JSON数据:
function createContent(el) {
var page, $obj;
page = [];
$obj = el;
$obj.each(function(index) {
page[index] = $(this).attr('page-data');
$(this).find('h2').html(jsonData.pages. + page[index] + .value);
});
}
//here I start the function
$(document).ready(function(){
createContent($('.container'));
});
上述功能的这一部分不起作用:
$(this).find('h2').html(jsonData.pages. + page[index] + .value);
这很明显,因为对象notaion不仅仅是一个字符串值。现在,有什么方法可以将它与有效的对象表示法结合起来吗?
答案 0 :(得分:3)
使用[]
表示法访问对象成员。
...
$(this).find('h2').html(jsonData.pages[page[index]].value);
...