javascript - js显示图像问题
怪我咯
怪我咯 2017-04-10 15:00:28
[JavaScript讨论组]

如题:我创建了个保存img对象的数组,打算让数组的图像插入一个p元素
为何在浏览器上显示的是
[object HTMLImageElement]而无法显示图片?

javascriptvar imgs=[];
for(var i=0;i<36;i++)
{
    var img=new Image();
    img.src="image/"+ i.toString()+".jpg";
    imgs.push(img);
}
function PMap(){
    this.R=0;
    this.C=[];
    this.show=function(){
        this.R=Math.floor(Math.random()*36);
        this.C[0]=this.R;
        this._Pmap1.innerHTML=imgs[this.R];
    }
}
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(2)
巴扎黑

可以把 .innerHTML=img[this.R] 改成 .appendChild(imgs[this.R]),或者 .innerHTML=imgs[this.R].outerHTML
PS: 给 innerHTML 赋的值是一个 String,而 imgs[this.R] 是一个 Node Object,因此它会自动转成 string(即 [object HTMLImageElement])。但是转成的是 [object HTMLImageElement] 而不是类似 <img src="">,前者,innerHTML 会把它当成普通的 Text String。
所以,要么把 imgs[this.R] 转成一个 HTML Element String,即 imgs[this.R].outerHTML,要么用 Node.appenChild() 方法直接插入一个 Node Object(imgs[this.R])。

高洛峰

innerHTML插入的是普通的文本,会去掉html标记;你可以改为outerHTML试试

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号