函数不';将代码重写为javascript后,将无法再工作

函数不';将代码重写为javascript后,将无法再工作,javascript,html,html-lists,Javascript,Html,Html Lists,我有一个列表,里面有人们的数据,它有一个li元素,里面有3个p标签,一个用于名称,一个用于地址,一个用于电子邮件 我手动填写了这个列表,但由于代码的一些更改,我不得不重写这个列表,以便用javascript生成html 我的代码是这样的 <p class="adres">@logopedist.Adres</p> <p class="email">@logopedist.Email</p> <p class="mobiel">@logo

我有一个列表,里面有人们的数据,它有一个li元素,里面有3个p标签,一个用于名称,一个用于地址,一个用于电子邮件

我手动填写了这个列表,但由于代码的一些更改,我不得不重写这个列表,以便用javascript生成html

我的代码是这样的

<p class="adres">@logopedist.Adres</p>
<p class="email">@logopedist.Email</p>
<p class="mobiel">@logopedist.Mobiel</p>
我的列表生成正确。但在我的旧代码中,我在列表的开头有这个

<li class="lijst" onclick="ficheVullen(this)">
我现在得到这个错误。无法读取null的属性“textContent”

我把这个函数称为:

window.onload = function() {
    changePage(1);
    document.getElementById("lijst").addEventListener("click", ficheVullen);
};
changepage函数是分页的一部分,我使用javascript构建列表。 当我将eventlistener移出此位置时,会出现以下错误:无法读取null的属性'addEventListener'


我希望这提供了足够的上下文

您必须使用
setAttribute
来设置id

elm.setAttribute(“id”、“uniqueId”)

您的案例:
li.setAttribute(“id”、“lijst”)

li.id=“lijst”将“id”添加到对象而不是作为属性

const parent=document.getElementById(“容器”)
让elm=document.createElement(“p”)
elm.setAttribute(“id”、“pElm”)
elm.innerText=“p标记”
parent.append(elm)
document.getElementById(“pElm”).style.background=“red”

您必须使用
setAttribute
设置id

elm.setAttribute(“id”、“uniqueId”)

您的案例:
li.setAttribute(“id”、“lijst”)

li.id=“lijst”将“id”添加到对象而不是作为属性

const parent=document.getElementById(“容器”)
让elm=document.createElement(“p”)
elm.setAttribute(“id”、“pElm”)
elm.innerText=“p标记”
parent.append(elm)
document.getElementById(“pElm”).style.background=“red”

一个
HTMLElement
上的
id
属性有一个getter和setter方法。设置属性时,会同时添加属性。试试看。
HTMLElement
上的
id
属性有一个getter和setter方法。设置属性时,会同时添加属性。试一试。好吧,你不是在那里调用函数,而是只听单击的发生,然后调用函数。你能让你的代码片段运行,这样我们就可以帮助你看它吗?在编辑器中,单击
图标制作一个代码段。好的,您没有在那里调用函数,而是只侦听单击的发生,然后调用函数。你能让你的代码片段运行,这样我们就可以帮助你看它吗?在编辑器中,单击
图标制作代码片段。
function ficheVullen() {
     FicheNaam = document.getElementById("FicheNaam");
     FicheAdres = document.getElementById("FicheAdres");
     FicheGSM = document.getElementById("FicheGSM");
     FicheNaam.innerHTML = this.querySelector('.naam').textContent;
     FicheGSM.innerHTML = this.querySelector('.mobiel').textContent;
     FicheAdres.innerHTML = this.querySelector('.adres').textContent;
window.onload = function() {
    changePage(1);
    document.getElementById("lijst").addEventListener("click", ficheVullen);
};