javascript - 函数 $(this).attr ('src' ); img 上未定义

标签 javascript jquery html

我需要帮助来理解 $(this) 的工作原理,因为我无法使这个简单的代码正常工作:

HTML:

<img style="cursor:pointer;" onclick="openfullsize();" src="/customimage/test.png"/>

JS:

function openfullsize(){
    var path = $(this).attr("src");
    alert(path);
}

我想知道我是否做错了什么,或者我是否只是不明白 $(this) 的行为方式。 $(this) 应该引用调用它的元素,对吧?在这种情况下,它将是我的 img。

这应该提醒 src 属性的内容,但它是未定义的。

我希望它能在 Jquery 中。

感谢您的帮助,这是JsFiddle

最佳答案

您应该直接在 JS 代码中绑定(bind)事件处理程序,而不是像您现在所做的那样在 HTML 中绑定(bind)。

$("img").on("click", function(){
    //$(this) will now work as expected
});

关于javascript - 函数 $(this).attr ('src' ); img 上未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30470361/

相关文章:

javascript - 将选定的行从 Jqgrid 移至顶部

javascript - 将 jQuery 延迟 Promise 转换为原生 JavaScript Promise

javascript - 如何使用 OpenLayers 将属性插入 WFS?

javascript - jquery keyup 延迟被忽略

html - 导航窗口问题

javascript - 使用javascript删除最后一行的html元素

javascript - 无法创建 'System.Boolean' 类型的对象

javascript - 匹配带空格和不带空格的模式

jquery - 全屏滚动背景图像

html - CSS 边框逐渐远离关联的 ID