-1

以这个 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);

这很明显,因为 object notaion 不仅仅是一个字符串值。现在,有什么办法可以将它与有效的对象表示法结合起来吗?

4

1 回答 1

3

使用[]符号来访问对象成员。

...
$(this).find('h2').html(jsonData.pages[page[index]].value);
...
于 2013-01-22T18:11:33.777 回答