【发布时间】:2022-01-21 16:46:46
【问题描述】:
我正在生成一些 div 并使用此函数附加到 DOM
//Run forEach method on newObj(cats from local storage) to populate and append template to the DOM
function getTheCats() {
//Limiting the results to 3. Probably better way to do this.
newObj.slice(0, 3).forEach(cat => {
const catEl = document.createElement('div')
catEl.classList.add('cat-detail')
catEl.innerHTML = `
<div class="img-id-container" id="pointer-control" onclick="getCatDeets()">
<img class='cat-image' src='${cat.thumbnail_url}' alt="Cat Pic"/>
<h3 class="id-left">Cat ${cat.id}</h3>
</div>
<p class="birthday-left">${cat.birthdate}</p>
`
mainLeft.appendChild(catEl)
})
}
getTheCats()
当我单击其中一个结果时,我正在尝试登录到控制台,一些 innerHTML。 结果,我总是得到“未定义”。我知道我错过了一些东西,但我似乎无法弄清楚是什么。任何帮助将不胜感激。
function myFunction(event) {
const clickedCat = event.target.nodeName;
console.log(clickedCat);
const details = clickedCat.innerHTML
console.log(details)
}
【问题讨论】:
-
试试
event.target.innerHTML。clickedCat不是target,而是.target.nodeName。我认为.nodeName把你搞砸了。 -
David784,你是对的!谢谢!!!
标签: javascript events undefined innerhtml