Datos()
将转换为 HTML 对象的信息加载到一个 HTML 文件中,其中class
每个都已定义。我需要 save()
读取生成的 s 的值,input
但是当我尝试使用document.querySelector()
它们的类来查找它们时,它显然会返回null
并给我这个错误:
infoPersonal.js:67 未捕获的类型错误:无法在 HTMLSpanElement 处读取 null 的属性“值”。(infoPersonal.js:67)
难道我做错了什么?
(我会添加一个片段代码,但由于一些导入它不起作用,我希望 javascript 代码就足够了)
const datos = () => {
const token = localStorage.getItem('token')
if (token) {
return fetch('https://janfa.gharsnull.now.sh/api/auth/me', {
method: 'GET',
headers: {
'Content-Type': 'application/json',
authorization: token,
},
})
.then(x => x.json())
.then(user => {
const datalist = document.querySelectorAll(".data")
datalist.forEach(function(el) {
var divInfo = document.createElement("div")
divInfo.setAttribute("class", `divInfo-${el.getAttribute("data-target")}`)
var divInput = document.createElement("div")
divInput.setAttribute("class", `divInput-${el.getAttribute("data-target")}`)
divInput.hidden = true
var input
var icon
const template = '<p>' + user[el.getAttribute("data-target")] + '</p>'
input = document.createElement("input")
input.type = "text"
input.setAttribute("class", `input-${el.getAttribute("data-target")}`)
input.value = user[el.getAttribute("data-target")]
icon = document.createElement("span")
icon.setAttribute("class", "flaticon-diskette")
icon.setAttribute("data-target", `${el.getAttribute("data-target")}`)
divInfo.innerHTML = template
divInput.appendChild(input)
divInput.appendChild(icon)
el.appendChild(divInfo)
el.appendChild(divInput)
}
})
}).then(() => {
save()
})
}
}
const save = () => {
const saves = document.querySelectorAll(".flaticon-diskette")
saves.forEach(function(save) {
const input = document.querySelector(`.input-${save.getAttribute("data-target")}`)
save.addEventListener('click', () => {
console.log(input.value)
})
})
}