Javascript jQuery脚本不作为例外情况工作

Javascript jQuery脚本不作为例外情况工作,javascript,jquery,image,this,window.location,Javascript,Jquery,Image,This,Window.location,我有一个jQuery脚本,当单击图像时,它应该可以打开完整大小的图像 $('img').click( function() { var src = $(this).attr('src'); window.location.href=src; }); 但是,单击图像时,它们不会按预期打开。有人知道为什么吗?感谢您的帮助:)请确保在脚本之前加载Jquery。此外,如果动态加载图像,请使用此脚本: $('body').on('click','img', function() {

我有一个
jQuery
脚本,当单击图像时,它应该可以打开完整大小的图像

$('img').click( function() {
    var src = $(this).attr('src');
    window.location.href=src;
});

但是,单击图像时,它们不会按预期打开。有人知道为什么吗?感谢您的帮助:)

请确保在脚本之前加载Jquery。此外,如果动态加载图像,请使用此脚本:

$('body').on('click','img', function() {
    var src = $(this).attr('src');
    window.location.href=src;
});

您的代码在这里似乎运行良好:

因此,正确安装事件处理程序可能存在一些问题。以下是需要检查的事项:

  • 在安装事件处理程序之前,是否正在等待加载
    文档
  • 你的图像是动态加载的吗
  • 是否存在阻止事件处理程序运行的脚本错误
  • 对于第1项,我建议:

    $(document).ready(function() {
        $("img").click(function() {
            window.location.href = this.src;
        });
    });
    
    对于第2项,您可能希望改用委派事件处理:

    $(document).ready(function() {
        $(document).on("click", "img", function() {
            window.location.href = this.src;
        });
    });
    
    对于第3项,您需要检查浏览器错误控制台或调试控制台,查看哪些脚本错误可能导致脚本过早停止执行



    另外,您可能还注意到,我只是使用了
    this.src
    而不是
    $(this.attr)(“src”)
    简化了您的代码。当jQuery更长、更慢时,使用它没有意义。

    您的图像有绝对路径名吗?如果没有,您希望执行以下操作:

    window.location.href = window.location.href.substr(0, window.location.href.lastIndexOf('/')) + src;
    

    您需要一个dom就绪处理程序,并且在调用此代码段之前确保jquery已加载好好的,添加此代码段并查看它是否有效!谢谢:)
    $(this.attr('src')
    返回相对路径,改用:
    var src=this.src
    谢谢!添加一个准备就绪的文档似乎可以解决这个问题,我可以在3分钟内接受它。但是op没有使用
    .prop()
    他使用的是
    .attr()