【发布时间】:2021-10-21 15:44:39
【问题描述】:
我一直在玩这些代码,但仍然不断出错。
const zoom = () => {
const images = document.querySelectorAll(".voice-details__zoom");
const modal = document.querySelector(".modal");
const modalImg = document.querySelector(".modalImg");
const modalTxt = document.querySelector(".modalTxt");
const close = document.querySelector(".close");
images.forEach((image) => {
image.addEventListener("click", () => {
let imgSrc = image.getAttribute('data-src');
modalImg.src = imgSrc; //2 errors
modalTxt.innerHTML = image.getAttribute('data-alt'); //2 errors
modal?.classList.add("appear");
close?.addEventListener("click", () => {
modal?.classList.remove("appear");
});
});
});
}
以下是编译器的错误: 上午 10:06:36 - 检测到文件更改。开始增量编译... [观看:ts] [watch:ts] src/js/components/zoom.ts(15,7):错误 TS2531:对象可能为“空”。 [watch:ts] src/js/components/zoom.ts(15,16):错误 TS2339:“元素”类型上不存在属性“src”。 [watch:ts] src/js/components/zoom.ts(16,7):错误 TS2531:对象可能为“空”。 [watch:ts] src/js/components/zoom.ts(16,7): error TS2322: Type 'string | null' 不可分配给类型 'string'。 [watch:ts] 类型 'null' 不可分配给类型 'string'。
【问题讨论】:
标签: javascript html typescript