'0'为null或不是对象

时间:2011-07-26 10:14:14

标签: jquery mobile beta

我刚从jquery mobile alpha 2切换到jquery mobile beta 1.0。我正在使用CDN访问jquery javascript文件和css。我从服务器获取一些数据并以列表格式显示它。我在javasript文件中动态构建列表。

我正在使用

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

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

在构建之后刷新我的列表。

它与jquery mobile的alpha版本运行良好但现在没有更改单行代码我试图使用jquery mobile beta运行它并且它打破了以下错误:

网页错误详情

  

消息:'0'为空或不是对象
  行:133
  查尔:183
  代码:0
  URI:http://user.mydomain.com/scripts/jquery.mobile-1.0b1.min.js

我做错了什么或者测试版css文件有什么问题?

编辑:

我使用ajax调用以json格式(比如结果对象)获取数据并显示如下:

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 close tag'

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

虽然我可以看到数据出现并正确显示但没有风格。

希望这有助于理解这个问题。

拉​​曼

2 个答案:

答案 0 :(得分:0)

在你的例子中,你正在做

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

但是id是唯一的,因此没有理由使用多个id来定义层次结构。

只需使用

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

另外请确保修复字符串连接.. result.Data包含您认为的内容..

答案 1 :(得分:0)

我使用Jquery Mobile论坛检查了这个,以下解决方案适用于我。

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