使用 setAttribute 修改图片 src 属性时报错的解决方案

花韻仙語
发布: 2025-10-09 15:01:01
原创
802人浏览过

使用 setattribute 修改图片 src 属性时报错的解决方案

正如摘要所述,本文旨在解决在使用 JavaScript 修改 HTML 图片元素的 src 属性时遇到的 "setAttribute cannot read properties of null" 错误。该错误通常发生在尝试在 DOM 加载完成之前访问和操作 DOM 元素时。以下将详细介绍问题的原因以及如何通过代码调整来解决此问题。

问题分析

"setAttribute cannot read properties of null" 错误表明,在尝试调用 setAttribute 方法时,目标元素(在本例中是 id 为 "banner" 的 使用 setAttribute 修改图片 src 属性时报错的解决方案 元素)为 null。这通常意味着 JavaScript 代码在 HTML 元素被完全加载之前就执行了,导致 document.getElementById("banner") 或 $("#banner") 无法找到该元素,从而返回 null。

解决方案

为了确保在 DOM 完全加载后再执行 JavaScript 代码,可以使用以下两种方法:

1. 使用 jQuery 的 $(function() { ... });

jQuery 提供了一个便捷的方法来确保代码在 DOM 加载完成后执行。将代码包裹在 $(function() { ... }); 中即可:

php商城系统
php商城系统

PHP商城系统是国内功能优秀的网上商城系统,同时也是一个商业的PHP开发框架,有多套免费模版,强大的后台管理功能,专业的网上商城系统解决方案,快速建设网上购物商城、数码商城、手机商城、办公用品商城等网站。 php商城系统v3.0 rc6升级 1、主要修复用户使用中出现的js未加载完报错问题,后台整改、以及后台栏目的全新部署、更利于用户体验。 2、扩展出,更多系统内部的功能,以便用户能够迅速找到需

php商城系统 0
查看详情 php商城系统
$(function() {
  flagDictionary = {
    1 : "assets/WCUFOD.png",
    2 : "assets/lesbians.svg",
    3 : "assets/Gay.svg",
    4 : "assets/bisexual.png",
    5 : "assets/intersex.jpg",
    6 : "assets/asexual.png",
  }

  const time = new Date();
  const day = time.getDay()

  let mainBanner = document.getElementById("banner");
  mainBanner.setAttribute("src", flagDictionary[1]);
});
登录后复制

2. 使用原生 JavaScript 的 DOMContentLoaded 事件

原生 JavaScript 提供了 DOMContentLoaded 事件,可以在 DOM 加载完成后触发。可以使用以下代码来实现相同的功能:

document.addEventListener('DOMContentLoaded', function() {
  flagDictionary = {
    1 : "assets/WCUFOD.png",
    2 : "assets/lesbians.svg",
    3 : "assets/Gay.svg",
    4 : "assets/bisexual.png",
    5 : "assets/intersex.jpg",
    6 : "assets/asexual.png",
  }

  const time = new Date();
  const day = time.getDay()

  let mainBanner = document.getElementById("banner");
  mainBanner.setAttribute("src", flagDictionary[1]);
});
登录后复制

3. 调整 script 标签的位置

将 <script> 标签放在 </script>

以上就是使用 setAttribute 修改图片 src 属性时报错的解决方案的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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