Javascript 从ObjectSunCapt TypeError数组生成列表:无法读取属性';追加儿童';空的

Javascript 从ObjectSunCapt TypeError数组生成列表:无法读取属性';追加儿童';空的,javascript,Javascript,我不明白为什么我会犯这个错误。我有一个脚本可以工作,它从xml文件构建一个无序列表。然后我将该列表存储在本地存储中,在刷新时,我只想从存储中构建该列表。在任何一种情况下,在构建列表之后,我都使用完全相同的脚本,但是我得到了 Uncaught TypeError: Cannot read property 'appendChild' of null 错误于 ul.appendChild(li); 当我尝试从本地存储加载它时 我已经尝试了许多重新安排,我想看看是否有一个原因,它是不明确的。我

我不明白为什么我会犯这个错误。我有一个脚本可以工作,它从xml文件构建一个无序列表。然后我将该列表存储在本地存储中,在刷新时,我只想从存储中构建该列表。在任何一种情况下,在构建列表之后,我都使用完全相同的脚本,但是我得到了

 Uncaught TypeError: Cannot read property 'appendChild' of null
错误于

ul.appendChild(li); 
当我尝试从本地存储加载它时

我已经尝试了许多重新安排,我想看看是否有一个原因,它是不明确的。我想不出一个。同样,当我从XML派生数组时,这段代码也可以工作。一旦我将其字符串化并从存储中解析回来,这个脚本就不会

    var li = document.createElement("li");
    var retrievedObject = localStorage.getItem('senatorList');
    senatorList = JSON.parse(retrievedObject);
    console.log(senatorList);
    var ul = document.getElementById("members");
    for( var i = 0; i < senatorList.length; i++ )
        { 
        o = senatorList[i];

        li.appendChild(document.createTextNode(o.name));
        li.id = o.name;
        li.setAttribute('draggable', 'true');
        if (o.party == 'Democrat') {
            o.voted = true;
            li.classList.add('democrat');
        } else {
            li.classList.add('republican');
        }
        ul.appendChild(li);    

}
var li=document.createElement(“li”);
var retrievedObject=localStorage.getItem('senatorList');
senatorList=JSON.parse(retrievedObject);
console.log(senatorList);
var ul=document.getElementById(“成员”);
for(var i=0;i
未捕获的TypeError:无法在处读取null错误的属性“appendChild”

ul.儿童(li)

因此,
ul
为null,因此,
document.getElementById(“成员”)
返回null-DOM中不存在具有此类ID的元素

我猜创建
#成员并将其放入DOM的代码出现在“构建”部分,但在“从存储重建”部分中缺失

未捕获的TypeError:无法在处读取null错误的属性“appendChild”

ul.儿童(li)

因此,
ul
为null,因此,
document.getElementById(“成员”)
返回null-DOM中不存在具有此类ID的元素


我猜创建
#成员并将其放入DOM中的代码存在于“构建”部分,但在“从存储重建”部分中缺失。

您的行
var ul=document.getElementById(“成员”)没有返回您期望的内容。您可以通过使用调试器或在检索值后立即打印该值来验证这一点<代码>如果(!ul)console.log(“未定义ul!”)
。如果事实证明是这样,请找出原因。

您的行
var ul=document.getElementById(“成员”)没有返回您期望的内容。您可以通过使用调试器或在检索值后立即打印该值来验证这一点<代码>如果(!ul)console.log(“未定义ul!”)
。如果事实证明是这样,请找出原因。

ul为
null
。您正在DOM准备就绪之前调用代码。您可以在window.onload=function()上运行它{/*您的代码*/};嗯,已经在用onload初始化其他东西了。我将重新安排。您可以使用
window.addEventListener('load',fn,false)多次。它将按照定义的顺序运行所有函数。就这样?或者这些术语代表什么?i、 e.我不确定这看起来像什么,你可以把上面的代码包装在一个函数
function init(){}
中,然后你可以把它作为addEventListener的参数传递:
window.addEventListener('load',init,false)。注意:不带
()
ul的init是
null
。您正在DOM准备就绪之前调用代码。您可以在window.onload=function()上运行它{/*您的代码*/};嗯,已经在用onload初始化其他东西了。我将重新安排。您可以使用
window.addEventListener('load',fn,false)多次。它将按照定义的顺序运行所有函数。就这样?或者这些术语代表什么?i、 e.我不确定这看起来像什么,你可以把上面的代码包装在一个函数
function init(){}
中,然后你可以把它作为addEventListener的参数传递:
window.addEventListener('load',init,false)。注意不带
()