'0' равно нулю или не является объектом

Я только что перешел с jquery mobile alpha 2 на jquery mobile beta 1.0. Я использую доступ CDN для файлов jquery javascript и css. Я получаю некоторые данные с сервера и отображаю их в формате списка. Я динамически создаю список в файле javasript.

я использовал

$('#detail').html(html);

$('#detail ul').listview();

чтобы обновить мой список после его создания.

Он хорошо работал с альфа-версией мобильного jquery, но теперь, не меняя ни одной строки кода, я пытаюсь запустить его с помощью бета-версии jquery mobile, и он ломается со следующей ошибкой:

Сведения об ошибке веб-страницы

Сообщение: '0' равно null или не является объектом
Строка: 133
Символ: 183
Код: 0
URI: http://user.mydomain.com/scripts/jquery.mobile-1.0b1.min.js

Я делаю что-то не так или какая-то проблема с бета-версией файла css?

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

Я получаю данные в формате json (скажем, объект результата), используя вызов ajax и отображая его следующим образом:

var html = "<ul id="contactDetails" data-role="listview" data-filter="false" data-inset="true">";

html += "<li data-icon='false'><Email:<a href=mailto:'"+  result.Data.email_address_1 + +"'>" + result.Data.email_address_1 + "</a></li>";

html += 'ul закрывающий тег'

$('div#page2 div#contentMain div#details ul#customerDetails').html(html)
$('div#page2 div#contentMain div#details ul').listview();

Хотя я вижу, что данные поступают и отображаются правильно, НО без стиля.

Надеюсь, это поможет понять проблему.

Раман


person itizme    schedule 26.07.2011    source источник
comment
Я предлагаю вам использовать неминифицированную версию и посмотреть на строку, в которой возникает ошибка.   -  person Felix Kling    schedule 26.07.2011
comment
ваша информация ничем не поможет. Определите фрагмент кода, который делает 0 нулевым или не является объектом. Это означает, что вы где-то неправильно используете методы jQuery. Stacktrace действительно поможет.   -  person Raynos    schedule 26.07.2011
comment
@Raynos, я отредактировал вопрос. Посмотрите, может ли это помочь.   -  person itizme    schedule 26.07.2011
comment
@itizme, при создании переменной html возникают синтаксические ошибки. Вам не хватает + между жестко закодированной строкой и переменными.. и вам также не хватает переменной в <a href=mailto:'" + +"'>   -  person Gabriele Petrioli    schedule 26.07.2011
comment
ой извините, html-код был удален.   -  person itizme    schedule 26.07.2011
comment
И строка var html имеет плохие кавычки   -  person andyb    schedule 26.07.2011


Ответы (2)


В ваших примерах вы делаете

$('div#page2 div#contentMain div#details ul#customerDetails').html(html)
$('div#page2 div#contentMain div#details ul').listview();

Но id уникальны, поэтому нет причин использовать несколько идентификаторов для определения иерархии.

Просто используйте

$('#customerDetails').html(html);
$('#details ul').listview();

Также убедитесь, что вы исправили свои конкатенации строк ... и что result.Data содержит то, что, по вашему мнению, делает ...

person Gabriele Petrioli    schedule 26.07.2011

Я проверил это на форуме Jquery Mobile, и у меня работает следующее решение.

     $('#details').html(html)
     $('#page2').page();
     $('ul#customerDetails').listview('refresh');
person itizme    schedule 27.07.2011