2014-01-28 49 views
0

我将现有代码转换为模板代码,因为它更清洁,我使用Mustache作为我的模板引擎选择。我无法让下面的代码工作我已经包含旧的工作代码和新的Mustache代码。问题是div并没有被创建,它只是在DealerInfo div中放置了一个<Div未创建

这是变换代码:

for(i=0; i< markers.length; i++) { 
    var testContent = Mustache.render("<div class='{{info_content}}'><h3>{{dealerName}}</h3>" + 
             "<p>{{address}}<br/>{{city}}, {{state}} {{zip}}<br/>" + 
             "<a href='{{href}}'>{{hrefTitle}}</a></p></div>", { 
     info_content: "info_content", 
     dealerName: markers[i][3], 
     address: markers[i][2], 
     city: markers[i][4], 
     state: markers[i][5], 
     zip: markers[i][8], 
     href: markers[i][6] 
    }); 

    infoWindowContent.push(testContent); 
} 

这是旧代码:

for(i=0; i< markers.length; i++) { 
    var testContent = ['<div class="info_content">' + '<h3>' + markers[i][3] + '</h3>' + '<p>' + markers[i][2] + '<BR />' + markers[i][4] + ', ' + markers[i][5] + ' ' + markers[i][8] + '</p>' + '<BR /> <a href="' + markers[i][6] +'">' + markers[i][6] +'</a>' +'</div>']; 
    infoWindowContent.push(testContent); 
} 

这是我如何获得信息,以输出到DIV:

document.getElementById("DealerInfo").innerHTML=infoWindowContent[i][0]; 

回答

1

您的问题是:

document.getElementById("DealerInfo").innerHTML=infoWindowContent[i][0]; 

在新的代码,你这是一个字符串数组,所以infoWindowContent[i][0]使您可以通过Mustache.render

document.getElementById("DealerInfo").innerHTML=infoWindowContent[i]; 

创建的字符串中的第一个字符应该做的伎俩。顺便说一下,你可以将一个数组传递给Mustache,并让它遍历这些项目。

+0

如果我能投票这一百万次我会的!谢谢我一直试图解决这个问题超过一个小时! – Yamaha32088

+0

非常欢迎。 :) –

0

我不知道这是否能解决您的问题,但我会先将字符串模板放入一个变量中,并将数据放入一个变量中,然后调用这些函数的Mustache.render函数。我怀疑你发给胡子的乱七八糟,不知怎的,