jQuery Усы не работают на IE 8 - PullRequest
3 голосов
/ 10 сентября 2011

Я преобразовал свою уродливую логику анализа данных в Усы (для http://loop.pk). Довольно аккуратные вещи. Я делаю всю свою разработку в Ubuntu / Linux, поэтому я не заметил, но Данные не отображаются в IE .

Я проследил ошибку до этой строки, «данные» идеальны, заполнены и, как и ожидалось. Не знаю, почему это не удается.

$('#template_smslist').mustache(data).prependTo('#tab_inbox');

Вот как выглядит мой шаблон:

{{#sms}}
<div class="sms_recvd sms_list a">
    <div class="sms_list_text">{{text}}</div>
    <div class="sms_list_time">{{tstamp}}</div>
</div>
{{/sms}}

А вот как выглядят данные:

{"sms":[{"id":"1727591","text":"Fb shabantoo","tstamp":"1315597361"},{"id":"1727580","text":"Fb and dj shahruk rocking it again","tstamp":"1315597106"},{"id":"1727466","text":"Fb i see unicorns","tstamp":"1315595994"},{"id":"1727214","text":"Fb i see rainbows","tstamp":"1315593322"}.............

Пожалуйста, помогите!

1 Ответ

8 голосов
/ 11 сентября 2011

Я предполагаю, что у вас есть шаблон внутри тега скрипта, что-то вроде:

<script type="text/x-mustache-tmpl" id="template_smslist">
...
</script>

И, похоже, вы используете https://github.com/thinkdevcode/jQuery-Mustache, что, похоже, является проблемой здесь ...

Итак, все, что он в основном делает, это возвращает

$(Mustache.to_html($('#template_smslist').text(), data))

но в IE вызовы text () ничего не возвращают. Вместо этого, если использовать html (), он будет работать во всех браузерах.

Итак, я предлагаю просто сделать:

$(Mustache.to_html($('#template_smslist').html(), data))
...