2011-12-15 58 views
1

我正在使用jQuerys“tmpl”插件模板。现在我有一个数组的元素数组,以及我必须访问特定的元素。jquery tmpl访问嵌套数组中的子元素

即数组将是:

var arr = { 
    'id':23422, 
    'title':'example', 
    'images': {'small':'34fge.jpg','original':'dfsdf354.jpg'} 
}; 

现在在寺庙,我想访问ARR [图片] [小],但它不工作。我正在尝试的是:

<div> 
    <h3>${title}</h3> 
    <img src="${arr}{images}{small}" /> 
</div> 

任何人的任何帮助/想法?

回答

2

使用<img src="${images.small}" />会给下面的标记:

<div> 
    <h3>example</h3> 
    <img src="34fge.jpg"> 
</div> 

事实上,images属性不是嵌套array但性能object

但如果你真的通过嵌套数组要循环,那么你应该使用一个nested template,并改变你的语法有点(注意[]图像周围的属性):

的Javascript

var arr = { 
    'id': 23422, 
    'title': 'example', 
    'images': [ 
     { 'small': '34fge.jpg', 'original': 'dfsdf354.jpg' }, 
     { 'small': '35fge.jpg', 'original': 'dfsdf.jpg' } 
    ] 
}; 

模板

<script id="template" type="text/x-jquery-tmpl"> 
    <div> 
    <h3>${title}</h3> 
    {{tmpl(images) "#imagesTemplate"}} 
    </div> 
</script> 
<script id="imagesTemplate" type="text/x-jquery-tmpl"> 
    <img src="${small}" /> 
    <img src="${original}" /> 
</script> 
+0

感谢所有的意见,你我已经ITER阿婷。我可能会添加另一个子模板来照顾图像事物。好主意。 – 2011-12-15 12:50:26