Руль не заполняет таблицу

Я использую Handlebars (v 1.0.0), чтобы заполнить таблицу в HTML. Однако как-то это не заполняет таблицу, как я привык.

Вот мой шаблон:

{{#if users}}
<table>
    {{#each users}}
        <tr>
            <td>{{username}}</td>
            <td>{{email}}</td>
        </tr>
    {{/each}}
</table>

{{else}}
    <h3>No users found!</h3>
{{/if}}

Поэтому я не нахожу пользователей, потому что не вижу "Пользователи не найдены!" и когда я вызываю пустой объект, он показывает «Пользователи не найдены!».

Когда я не использую таблицу и распечатываю этих пользователей, как в следующем примере. Имена пользователей и почтовый адрес »будут отображаться в моем HTML.

{{#if users}}

    {{#each users}}

        {{username}}<br/>
        {{email}}<br/>

    {{/each}}


{{else}}
    <h3>No users found!</h3>
{{/if}}

Вот как мой шаблон построен в JavaScript:

var htmlSource = $(data).html();
var template = Handlebars.compile(htmlSource);
var compiled = template(usersArray);
that.$el.html(compiled);

Теперь, когда я console.log скомпилировал объект, он еще не показывает таблицу.

Вы знаете, почему это не работает, и вы можете мне помочь?

РЕДАКТИРОВАТЬ:

Я просто протестировал еще несколько и обнаружил, что данные будут отображаться в HTML, когда я опускаю<table> теги. Однако<tr> а также<td> не будет отображаться в HTML. Данные в нем будут показаны.

РЕДАКТИРОВАТЬ 2: Я обнаружил, что это, похоже, проблема JQuery или Javascript. Когда я console.log htmlSource, HTML-шаблон изменяется на это:

{{#if users}}

    {{#each users}}

    {{/each}}


{{else}}
<h3>No users found!</h3>
{{/if}}

<table><tr>
   <td>{{username}}</td> 
   <td>{{email}}</td>
</tr></table>

Как видите, таблица перемещена за пределы оператора if. Я пробовал другие версии jquery (2.0.2, 2.0.3, 2.0.1, 1.10.2), но это не сработало. Я пытался использоватьinnerXHTML Однако скрипт работает так же, как jQuery.

Так что я думаю, что это может быть проблема FireFox (хотя я пытался 25 и 26), Chrome делает то же самое ... может быть, что-то в EcmaScript ??

Я дам вам знать в ближайшее время ...

РЕДАКТИРОВАТЬ 3:

Я создал HTML-файл с нужным мне HTML. С помощью скрипта я получаю нужный мне раздел HTML и помещаю его в переменную данных.

Теперь при консольной регистрации данных (console.log (data)) нет ничего плохого. Когда консоль регистрирует данные с помощью jQuery, html изменяется: console.log ($ (data));

Кажется, что-то там не так ... но только при использовании табличных тегов. Это то, что jQuery не может обработать? Я не знаю. Я знаю, как преодолеть эту проблему с помощью тега script ... Хотя я хотел бы загрузить это с помощью require;)

Постскриптум nemesv спасибо за редактирование;)

Ответы на вопрос(2)

Ваш ответ на вопрос