将代码重写为javascript后,功能不再起作用

我有一个带有人的数据的列表,里面有一个li元素,里面有3个p标签,一个是名字,一个是地址,一个是电子邮件。

我手动填写了此列表,但是由于对我的代码进行了一些更改,我不得不重写此列表,以便使用javascript制作html。

我的代码看起来像这样

<p class="adres">@logopedist.Adres</p>
<p class="email">@logopedist.Email</p>
<p class="mobiel">@logopedist.Mobiel</p>

我重写了此代码以使用javascript构建html。看起来像这样。

var li = document.createElement('li');
li.className = "lijst";
li.id = "lijst";
li.onclick = "ficheVullen(this)";
p.className = "naam";
p.innerHTML = objLogos.Naam[i];
li.appendChild(p);
p.className = "adres";
p.innerHTML = objLogos.Adres[i];
li.appendChild(p);
var p = document.createElement('p');
p.className = "mobiel";
p.innerHTML = objLogos.Mobiel[i];
li.appendChild(p);

我的列表生成正确。但是在我的旧代码中,我将其放在列表的开头。

<li class="lijst" onclick="ficheVullen(this)">

每当您单击li元素时,都会使用li内p标签的信息填充div,因此它将用名称,地址,移动电话等填充div 我似乎无法再使用此功能。它仅适用于第一个LI元素,并且仅适用于名称。即使我的代码相同,并且像在旧代码中一样,我也将类附加到了标签上。

该函数如下所示:

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;

我现在收到此错误。无法读取null的属性“ textContent”

我在这里调用此函数:

window.onload = function() {
    changePage(1);
    document.getElementById("lijst").addEventListener("click", ficheVullen);
};

changepage函数是我使用JavaScript建立列表的分页的一部分。 当我将eventlistener移出时,出现以下错误:无法读取null的属性'addEventListener'。

我希望这能提供足够的背景

评论