javascript - js中DOM方法创建结点,设置属性的一直报错
迷茫
迷茫 2017-04-11 12:21:55
[JavaScript讨论组]

使用document.creatElement()创建图片元素结点,但是使用element.setAttribute()时一直报错
js代码

var placeholder = document.createElement("img");
placeholder.setAttribute("id","placeholder");

报错

Uncaught TypeError: Cannot read property 'setAttribute' of undefined
    at preparePlaceholder (002.js:16)
    at window.onload (002.js:66)
preparePlaceholder @ 002.js:16
window.onload @ 002.js:66
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(4)
伊谢尔伦

应该是可以的,确定没写错吗?

        var placeholder = document.createElement("img");
        placeholder.setAttribute("id","placeholder");
        父节点.appendChild(placeholder);
PHPz
// 试了一下 可以 执行 会不会 哪里  错了。。。。。。
var placeholder = document.createElement("img");
placeholder.setAttribute("id","placeholder");
placeholder.setAttribute('src','https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png');
placeholder.setAttribute('alt','.');
document.body.appendChild(placeholder);
PHP中文网

按照题注给出的代码来看是不会报错的。

我这边执行也是没有问题的。

从报的错误来看,placeholder 变量是没有定义的。

但是因为不知道16行到66行之间你做了什么,我也没办法回答啊╮(╯▽╰)╭

---------- updated ----------

我说一个可能的原因:

你的页面已经有的一个ID为 imagegallery 的元素,所以报错了。

我贴一下我的代码图,和我的报错图:

代码图

报错图

原因无非是他if语句判断为错,直接跳过了下面这句代码:

var placeholder = document.createElement("img");

还有啊,因为你的代码应该是有不少问题的,所以我认为在实际运行中应该还有很多其他的错误。例如:

PHPz

看着并没有什么错误啊,你是不是有什么地方漏掉了

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

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