我正在尝试使用$(this).find('img')。attr('src');
来控制日志图像源。这是我的HTML
<div id="container">
<div id="stage">
<div id="gallery">
<img class="photo" src="_images/image#1" />
<img class="photo" src="_images/image#2" />
<img class="photo" src="_images/image#3" />
<img class="photo" src="_images/image#4" />
</div>
</div>
</div>
这是我的JS
function grabIt(){
var thisImageSrc = $(this).find('img').attr('src');
}
console.log(thisImageSrc)
$('#gallery img').mouseover(grabIt);
我将在更大的函数中使用img源代码,这不在本问题的范围之内。我的目标是在鼠标悬停在图像上时抓取图像源。
我是jQuery的新手,我更容易理解答案代码的长形式,而不是嵌套在函数内部的函数 - 如果可能的话。
谢谢你!答案 0 :(得分:1)
将console.log
语句放在函数中。 thisImageSrc
之外的grabIt
不存在,console.log
之前会调用grabIt
。
此外,由于您将事件处理程序绑定到图像本身,$(this).find('img')
将返回一个空集。图像不能包含其他图像。访问元素本身的src
属性。
因此,修复这两件事,你最终会
function grabIt(){
var thisImageSrc = this.src;
console.log(thisImageSrc)
}
$('#gallery img').mouseover(grabIt);