Javascript 错误消息无法在“节点”上执行“appendChild”:参数1不是“节点”类型

Javascript 错误消息无法在“节点”上执行“appendChild”:参数1不是“节点”类型,javascript,php,jquery-mobile,Javascript,Php,Jquery Mobile,我试图使用ajax填充我的jquery mobile listview,通过使用json格式的数据执行php Mysql查询来获取我的电影标题列表。 我成功地以正确的json格式获取了数据,但是在javascript中,我在第行发现了错误。。。。李奇达 HTML <div data-role="main" class="ui-content"> <ul data-role="listview" id="list" > </ul

我试图使用ajax填充我的jquery mobile listview,通过使用json格式的数据执行php Mysql查询来获取我的电影标题列表。 我成功地以正确的json格式获取了数据,但是在javascript中,我在第行发现了错误。。。。李奇达

HTML 
<div data-role="main"  class="ui-content">
         <ul data-role="listview" id="list" >
         </ul >
</div>
当我使用google debug时,我在->li.appendChilda行上得到错误,当我将鼠标悬停在var vec=JSON.parsedata上时,数据显示正确

我试图实现的只是让我的jquery移动设备以这种方式执行

<div data-role="main"  class="ui-content">
         <ul data-role="listview" id="list" >

            <li><a href="#">22 Jump Street</a></li>
            <li><a href="#">27 Dresses</a></li>

         </ul >
</div>

您应该从appendChild调用中删除引号,否则您将向该函数传递一个字符串,而该函数不知道如何处理该字符串。去掉引号后,将对象引用传递给函数

li.appendChild(a);
list.appendChild(li);

太好了,我必须按照你的建议删除ob.Category上的引号。我现在确实得到了这个列表,除了我没有得到jquerymobile样式的列表之外,我在这里缺少了什么吗?是的,你缺少了引号中的任何东西都是字符串的知识。我的列表看起来不像jquerymobile的样式……像这样,通过在循环之外附加到DOM,你会走得更快。只需将列表项连接为文本,然后执行类似$'list'.appendhtml.listview'refresh'的操作;谢谢你的回复,但我不明白在循环之外附加到DOM。只需将你的列表项连接为文本,我不是专家:不用担心。。。看看这里:或者这里:好的,我会设法弄清楚的,谢谢
my called javascript function using ajax...

var xhr = new XMLHttpRequest();

        xhr.open("GET", "getcatagories2_mobile.php", true); 

            xhr.onreadystatechange = function() 
            {
                if (xhr.readyState == 4 && xhr.status == 200) 
                {
                  var list = document.getElementById("list");
                  var data= xhr.responseText;
                  var vec= JSON.parse(data);
                        vec.forEach(
                              function(ob)
                              {
                                  var li = document.createElement("li");
                                  var a = document.createElement("a");
                                  var text = document.createTextNode("ob.Category");
                                  a.appendChild(text);
                                  a.setAttribute("href","#");
                                  li.appendChild("a");
                                  list.appendChild("li");

                              }
                         ); 
            $('#list').listview('refresh');  

            }
         }
                      xhr.send();


    };

<div data-role="main"  class="ui-content">
         <ul data-role="listview" id="list" >

            <li><a href="#">22 Jump Street</a></li>
            <li><a href="#">27 Dresses</a></li>

         </ul >
</div>
li.appendChild(a);
list.appendChild(li);