我正在尝试通过 Trigger.io 的天气教程。
我正在使用最新版本的 Chrome 在 Mac OS X (Lion) 上进行开发。
我在教程的第二部分,介绍了 JQuery 和 Mustache。
Mustache 模板位于 index.html 中,如下所示:
<body>
<script type="x-mustache-template" id="forecast_information_tmpl">
<h1>Forecast for {{display_location.full}}</h1>
<p>{{observation_time}}</p>
</script>
<script type="x-mustache-template" id="current_conditions_tmpl">
<table>
<tr>
<td><img src="{{icon_url}}" /></td>
<td>
<div>{{weather}}</div>
<div>{{temp_f}}°F</div>
<div>Humidity: {{relative_humidity}}</div>
<div>Wind: {{wind_string}}</div>
</td>
</tr>
</table>
</script>
<script type="x-mustache-template" id="forecast_conditions_tmpl">
{{#forecastday}}
<td>
<h2>{{date.weekday_short}}</h2>
<img src="{{icon_url}}">
<div>{{conditions}}</div>
<div>Low: {{low.fahrenheit}}°F</div>
<div>High: {{high.fahrenheit}}°F</div>
</td>
{{/forecastday}}
</script>
<header id="forecast_information"></header>
<section id="current_conditions"></section>
<section id="forecast_conditions">
<table>
<tr>
</tr>
</table>
</section>
</body>
当在 weather.js 代码中请求正文中的第一个模板时,调用无法返回。未正确检索模板,并且未按预期创建输出。
例如,给定上面的代码,如果我尝试执行以下操作:
tmpl = $("#forecast_information_tmpl").html();
jQuery 调用未能为 tmpl 返回有效对象。
如果我交换上述部分的顺序,尝试检索第一个模板将失败。
如果我注释掉对第一个模板的请求,代码将成功检索接下来的两个模板。
如果我将对第一个模板的请求移到对其他模板的请求之后,则对第一个模板的请求将失败。
这似乎是一个纯粹的位置挑战:无法检索 index.html 文件中的第一个模板。
最初,我输入了教程代码并下载了最新版本的 JQuery 和 Mustache。遇到麻烦后,我下载了教程源,包括教程包中的 jQuery 和 Mustache 版本。行为没有变化。
不确定是否有其他人遇到过这个问题,或者是否有人对如何调试或绕过它有建议。