0

我正在尝试通过 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}}&deg;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}}&deg;F</div>
                <div>High: {{high.fahrenheit}}&deg;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 版本。行为没有变化。

不确定是否有其他人遇到过这个问题,或者是否有人对如何调试或绕过它有建议。

4

0 回答 0