javascript - 更改 src 属性后图像不显示

标签 javascript html dom-events

正如标题所说,在我将 src 更改为 rollEvent 函数期间的值后,图像没有改变。当我将 display.src 的值打印到控制台时,它是正确的。但是实际文档并没有更改带有 display_box 类的 img 标签的 src 值。我在这里遗漏了什么吗?

jsfiddle.net/bNL5C/3/

window.onload = function eventsLoad (elem, display) {
    elem = document.getElementsByClassName('images');
    display = document.getElementsByClassName('display_box');
    function rollEvent(e) {
        var sourceURL = this.src;
        console.log(sourceURL);
        display.src = sourceURL;
        console.log(display.src);
    };
    console.log(elem);
    console.log(display);
    for (var i = 0; i < elem.length; i++) {
        elem[i].addEventListener('mouseover', rollEvent, false);
        console.log('Added event listener to ' + elem[i]);
    };
}

最佳答案

getElementsByClassName 返回 NodeList,因此您应该更改 display.src = sourceURL:

function rollEvent(e) {
    var sourceURL = this.src;
    display[0].src = sourceURL; // <--- change here
    console.log(display.src);
};

演示:http://jsfiddle.net/bNL5C/4/

或使用 display = document.querySelector('.display_box'); 代替。

关于javascript - 更改 src 属性后图像不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24474718/

相关文章:

javascript - ReactJS 使用异步 setState 更新状态的最佳方法

javascript - 回调值中的 Angular 2 函数不更新 View

css - 如何更改导航栏 Bootstrap 高度并使文本保持在中间?

javascript - Firefox 阻止默认的 alt 键

javascript - 接线元件事件

javascript - 关闭 Canvas 菜单 html css

JavaScript - 网络浏览器中的通知 API

javascript - WinJS UI JS/HTML 控件可以在 Metro 之外使用吗

html - Twitter Bootstrap 的侧边栏文档中使用了什么组件?

javascript - 当我在浏览器中单击后退按钮时,我需要将上一页重新加载到 'another URL'