有什么办法可以使accept的src
属性document.createElement
成为变量?
我想创建一个模式,当单击图像并且单击的图像以全屏显示时会弹出。但是src
attr不接受变量。
let fScreenImgViewVar = document.getElementsByClassName('fullScreenViewLink');
for (let i = 0; i < fScreenImgViewVar.length; i++) {
fScreenImgViewVar[i].addEventListener('click', (e) => {
let imgElem = document.createElement('IMG');
// here the src attr does not take the variable
imgElem.src = e.target.id;
console.log(imgElem)
document.getElementById('fScreenImgView-img').appendChild(imgElem);
});
}
你可以尝试解决此问题的setAttribute()
方法之一是在新创建的图像上使用该方法,如下所示:
let fScreenImgViewVar = document.getElementsByClassName('fullScreenViewLink');
for (let i = 0; i < fScreenImgViewVar.length; i++) {
fScreenImgViewVar[i].addEventListener('click', (e) => {
let imgElem = document.createElement('img');
imgElem.setAttribute("src", `${e.target.id}`);
// console.log(imgElem)
document.getElementById('fScreenImgView-img').appendChild(imgElem);
});
}
如果此答案可以帮助你解决问题,请考虑接受答案
我尝试了这段代码,但是它不起作用,我试图给它一个字符串而不是一个有效的变量。感谢您的帮助,但我想我应该采用其他方法来解决此问题。谢谢
“我试图给它一个字符串而不是一个变量”是什么意思?什么
e.target.id
回报?您可以记录元素目标ID以查看得到的回报吗?这对我来说是100%可行的。问题出在标记上。我将ID赋予了一个'a'标签,其子元素为img标签,并在'a'标签上添加了一个事件监听器,但是由于img标签,它从未被点击。非常感谢您的帮助,因此我能够找出问题所在。