我目前正在尝试通过单击在新窗口中打开图像。但我似乎无法弄清楚我的代码哪里错了。有什么解决办法吗?
function largePic(){
var imageNumber = document.getElementById("img2");
imageNumber = this.getAttribute('src').split(".", 1);
window.open(imageNumber[0] + "zlatan-stor.jpg");
}
我目前正在尝试通过单击在新窗口中打开图像。但我似乎无法弄清楚我的代码哪里错了。有什么解决办法吗?
function largePic(){
var imageNumber = document.getElementById("img2");
imageNumber = this.getAttribute('src').split(".", 1);
window.open(imageNumber[0] + "zlatan-stor.jpg");
}
您应该尝试将“ this.getAttribute('src').split(".",1);
”更改为
imageNumber.getAttribute('src').split(".",1);
你确定#img2 是被点击的那个吗?如果不只是这样做:
function largePic(){
var imageNumber = document.getElementById("img2");
var link = imageNumber.getAttribute('src').split(".", 1);
window.open(link[0] + "zlatan-stor.jpg");
}
这只有在函数被内联调用时才有效(你不应该这样做,你应该将你的 js 代码放在一个单独的文件中)
这个问题和你的很相似。
我认为您的代码的主要问题是 window.open
需要一个 URL 而没有提供一个。
按照在此链接上找到的答案应该允许您将代码分离到一个外部文件中,正如@Skatox 所提到的,这是一个很好的做法。