我要显示的数据是疾病矩阵的形式,当您在专科页面上单击矩阵名称时,将打开显示该专科疾病的页面。index.js
let maladie=document.querySelectorAll('ul li');
maladie.forEach(function(el){
el.addEventListener('click',function(e){
let des= PathData.filter(function(ele){
if(ele.name===el.innerText){
return ele;
}
});
let dataMaladie=des[0].Diseases;
ipcRenderer.send('openmaladie-page',dataMaladie);
e.preventDefault();
});
});
dataMaldie是一个阵列,其上按下了该专业的所有疾病,并且显示正确
主. js.文件
ipcMain.on('openmaladie-page',function(e,data){
console.log(data);
win.webContents.send("dataMaladie",data);
creatWindow('maladie.html');
});
maladie.js
const {ipcRenderer} =require('electron');
ipcRenderer.on('dataMaladie',function(e,data){
console.log(data);
let con=document.querySelector('#Diseases');
for(let i=0; i<data.length;i++){
let li=` <li class="col-3 patho ">
<a href="#">
<span class="ml-4 ">${data[i]}<span>
</a>
</li>`;k`enter code here`
con.append(li);
}
});
在这里,我收到矩阵中的疾病,并将它们注入到页面中,然后显示页面,除了在控制台中不打印任何内容外,疾病的html页面没有任何变化!!
1条答案
按热度按时间o0lyfsai1#
当使用字符串参数调用
Element.append()
时,只能将纯文本(而不是HTML元素)插入DOM。您可以使用
Element.classList.add()
将CSS类别分隔成不同的字串,以指定任何想要的CSS类别。最后一点:这段代码使用
Element.innerText
作为span元素中的文本,这意味着data [i]
的任何HTML内容都将被转义,这是正确的做法。通过简单地使用字符串插值(如原始示例)或使用Element.innerHTML
,您将自己(您的应用)开放给用户定义的DOM元素,这是不鼓励的,因为这甚至可能包含恶意JavaScript。