【发布时间】:2021-05-22 03:10:41
【问题描述】:
我们正在尝试根据口袋妖怪不同的卡片生成选择选项,它们的值是那一代卡片的图像,然后我们希望事件侦听器检查我们的点击,该点击获取值并更改照片。
我遇到的问题是我试图访问嵌套在我的条件中的选项的本地变量,我似乎无法弄清楚如何访问它,所以我可以让事件侦听器按照我的方式工作打算这样做。
代码:
document.querySelector('#form').addEventListener('submit', getPokemon)
const img = document.querySelector('#img')
const sel = document.querySelector('#curPoke')
function getPokemon(e) {
e.preventDefault();
const poke = document.querySelector('#input').value.toLowerCase();
const url = `https://api.pokemontcg.io/v2/cards`;
fetch(url)
.then((res) => res.json())
.then((data) => {
data.data.forEach(card => {
if (poke === card.name.toLowerCase()) {
let option = document.createElement('option')
option.textContent = `${card.name} ${card.id}`
option.value = card.images.large;
option.classList.add('gen')
sel.append(option)
sel.classList.remove('hide')
img.src = option.value
}
console.log(img.src)
})
console.log(data)
}).catch((err) => console.log(err))
}
document.querySelector('option').addEventListener('click', function() {
img.src = option.value
})
sel.addEventListener('click', function() {
// img.src = option.value
console.log('click')
const opt = document.querySelector('.gen')
console.log(opt)
})
【问题讨论】:
-
控制台有异常吗?如果是这样,你能把它放在你的问题中吗?
-
不,我只是记录下来,这样我就可以直观地了解我的应用正在做什么,以确保它以我想要的方式工作。
标签: javascript api local-variables createelement