gpt4 book ai didi

javascript - 如何在类内的 "onclick function"内添加 `literal template`?

转载 作者:行者123 更新时间:2023-12-04 11:02:22 26 4
gpt4 key购买 nike

这是我在这里的第一个问题,对于任何错误或问题太愚蠢,我深表歉意。

*我有一个带有在屏幕上显示国家/地区卡片的方法的类。我需要添加一个 onclick 函数来保存国家/地区的名称,以便我可以从另一个页面访问它。我不知道是否有办法让它工作。

有任何想法吗?

class UI {
constructor() {
this.cardsContainer = document.querySelector("#cards-container");
}

showCountries(data) {
data.forEach(country => {
let div = `
<div class="card">
// this is the onclick function i need to access
<a onclick="countrySelected(${this.country.borders})">

<div class="card-image">
<img src=${country.flag} alt="">
</div>
<div class="card-info">
<h2 class="card-name"> ${country.name}</h2>
<p><strong>Population:</strong> ${country.population}</p>
<p><strong>Region:</strong> ${country.region}</p>
<p><strong>Capital:</strong> ${country.bogota}</p>
</div>
</a>
</div>
`;
this.cardsContainer.innerHTML += div;
})
}

//method
countrySelected(data) {
sessionStorage.setItem('country', data);
}
}

最佳答案

我假设 country.name是独特的。

class UI {
constructor() {
this.cardsContainer = document.querySelector("#cards-container");
}

showCountries(data) {
data.forEach(country => {
let div = `
<div class="card">
// this is the onclick function i need to access
<a id=${country.name}>

<div class="card-image">
<img src=${country.flag} alt="">
</div>
<div class="card-info">
<h2 class="card-name"> ${country.name}</h2>
<p><strong>Population:</strong> ${country.population}</p>
<p><strong>Region:</strong> ${country.region}</p>
<p><strong>Capital:</strong> ${country.bogota}</p>
</div>
</a>
</div>
`;

this.cardsContainer.innerHTML += div;
document.querySelector(`a[id="${country.name}"]`)
.addEventListener('click', () => countrySelected(country.borders));
})
}

//method
countrySelected(data) {
sessionStorage.setItem('country', data);
}
}


另外,你可以引用这个帖子: Setting HTML Button`onclick` in template literal

关于javascript - 如何在类内的 "onclick function"内添加 `literal template`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58718594/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com