位置: IT常识 - 正文

Uncaught TypeError TypeError: Cannot set properties of null (setting ‘onclick‘)的解决办法

发布时间:2024-01-07
Uncaught TypeError TypeError: Cannot set properties of null (setting ‘onclick‘)的解决办法

推荐整理分享Uncaught TypeError TypeError: Cannot set properties of null (setting ‘onclick‘)的解决办法,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

我下面用代码示例一下。

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>javascript之鼠标事件之按钮控制改变div盒子的背景颜色</title><style>div{width: 200px;height: 200px;border: 1px red solid;background-color: red;}</style><script>var b=document.getElementById("an");b.onclick=function(){b.style.background="#ffefa1";};</script></head><body><div id="an">可以试一下</div></body></html>报错原因

这个代码你读一下,好像可以实现我们想要的效果,实现点击相关的div盒子实现其背景颜色变颜色的效果,但是一运行下来,在调试控制台里就会出现Uncaught TypeError TypeError: Cannot set properties of null (setting 'onclick')这样的报错------未捕获的类型错误: 无法设置属性

意思就是,无法获取到dom节点,从而导致无法对dom节点进行相关的操作,即无法设置相关dom节点的属性。

那又为什么不能获取dom节点呢?我不是写了 这个获取相关标签dom节点的js代码吗?

var b=document.getElementById("an");

这就跟我们怎么在 HTML 中引入 JavaScript有关了,

那么我们怎么在 HTML 中引入 JavaScript 呢?🤔

Uncaught TypeError TypeError: Cannot set properties of null (setting ‘onclick‘)的解决办法

引入方式与 CSS 相似,有以下三种方式:

在 HTML 标签中直接引入,针对一些特别简短的 JavaScript 代码。

使用 script 标签可以将 JavaScript 代码嵌入到 HTML 文档的 head 和 body 里。

使用外部 JavaScript 文件,将 JavaScript 脚本代码写入一个后缀为 .js 的文件中,通过给 script 标签设置 src 属性的方式,引入这个文件。

我们这个例子的代码是在head标签里面引入 JavaScript 代码,html中的代码是编译一行就执行一行,我们已经在前面把 JavaScript这个代码已经使用完了,到后面执行html代码后,就没有这个javascipt代码了,所以就没有实现那个我们想要的javascipt代码的效果,。

解决办法:

思路一,既然是因为body标签后面没有javascipt代码,才导致的执行相关的操作,那就把相应的javascipt代码放在body标签后面就行了,例如:

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>javascript之鼠标事件之按钮控制改变div盒子的背景颜色</title><style>div {width: 200px;height: 200px;border: 1px red solid;background-color: red;}</style></head><body><div id="an">可以试一下</div></body><script>var b = document.getElementById("an");b.onclick = function () {b.style.background = "#ffefa1";};</script></html>

思路二,我们可以使用window.onload() 这个方法,

window.onload() 方法用于在网页加载完毕后立刻执行的操作,即当 HTML 文档加载完毕后,立刻执行某个方法。

window.onload() 通常用于 <body> 元素,在页面完全载入后(包括图片、css文件等等)执行脚本代码。

使用window.onload()这个方法,就不用考虑javascript代码的位置了,因为使用window.onload(),只要网页加载完,就会触发相应的效果,例如,

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>javascript之鼠标事件之按钮控制改变div盒子的背景颜色</title><style>div{width: 200px;height: 200px;border: 1px red solid;background-color: red;}</style><script>window.onload=function(){var b=document.getElementById("an");b.onclick=function(){b.style.background="#ffefa1";};};</script></head><body><div id="an">可以试一下</div><button >点击</button></body></html>
本文链接地址:https://www.jiuchutong.com/zhishi/288899.html 转载请保留说明!

上一篇:若依框架搭建和使用(若依框架和jeesite)

下一篇:完美解决 Error: Cannot find module ‘@vue/cli-plugin-eslint‘ 报错(完美解决战网已休眠正在唤醒它)

  • js for循环(js for循环等待1秒)

    js for循环(js for循环等待1秒)

  • 荣耀play4pro支持红外遥控功能吗(荣耀play4pro支持内存卡扩展吗)

    荣耀play4pro支持红外遥控功能吗(荣耀play4pro支持内存卡扩展吗)

  • 微信视频怎么倍速(怎么可以把微信视频调效果好看)

    微信视频怎么倍速(怎么可以把微信视频调效果好看)

  • 阿里旺旺禁言规则(阿里旺旺里面被禁言了是怎么回事)

    阿里旺旺禁言规则(阿里旺旺里面被禁言了是怎么回事)

  • qq存到微云的文件怎么找(qq存到微云的文件怎么下载)

    qq存到微云的文件怎么找(qq存到微云的文件怎么下载)

  • 聊天记录迁移二维码获取失败(聊天记录迁移二维码获取失败是什么问题)

    聊天记录迁移二维码获取失败(聊天记录迁移二维码获取失败是什么问题)

  • 关闭当前的演示文稿的快捷键(关闭演示怎么写)

    关闭当前的演示文稿的快捷键(关闭演示怎么写)

  • 苹果11相机闪光灯显示电量不足怎么办(苹果11相机闪光灯怎么关闭)

    苹果11相机闪光灯显示电量不足怎么办(苹果11相机闪光灯怎么关闭)

  • 打印机识别不了u盘(打印机识别不了纸怎么办)

    打印机识别不了u盘(打印机识别不了纸怎么办)

  • 滴滴返空费怎么收取(滴滴打车收空车返程费)

    滴滴返空费怎么收取(滴滴打车收空车返程费)

  • 数据线会影响充电速度吗(数据线会影响充电宝充电速度吗)

    数据线会影响充电速度吗(数据线会影响充电宝充电速度吗)

  • 6s和8的区别(苹果手机6s与8区别大吗)

    6s和8的区别(苹果手机6s与8区别大吗)

  • 网卡是组成局域网的什么部件(网卡是组成局域网的)

    网卡是组成局域网的什么部件(网卡是组成局域网的)

  • 苹果支付无效怎么回事(苹果支付无效怎么回事儿)

    苹果支付无效怎么回事(苹果支付无效怎么回事儿)

  • word文档英文下面有红色波浪线(word文档英文下划波浪线怎么删除)

    word文档英文下面有红色波浪线(word文档英文下划波浪线怎么删除)

  • opporeno3是什么时候上市的(opporeno3是什么时候上市的手机)

    opporeno3是什么时候上市的(opporeno3是什么时候上市的手机)

  • 抖音里面为什么显示已重置?(抖音里面为什么看不到别人来访痕迹)

    抖音里面为什么显示已重置?(抖音里面为什么看不到别人来访痕迹)

  • 艺术字的环绕方式在哪(艺术字环绕方式在哪里设置)

    艺术字的环绕方式在哪(艺术字环绕方式在哪里设置)

  • 网易云音乐听歌识曲在哪(网易云音乐听歌背景怎么换)

    网易云音乐听歌识曲在哪(网易云音乐听歌背景怎么换)

  • 淘宝主页被收藏是什么意思(淘宝宝贝被收藏)

    淘宝主页被收藏是什么意思(淘宝宝贝被收藏)

  • 华为麦芒6有红外功能吗(华为麦芒6红外遥控)

    华为麦芒6有红外功能吗(华为麦芒6红外遥控)

  • 苹果为什么不能用流量下载(苹果为什么不能隔空投送)

    苹果为什么不能用流量下载(苹果为什么不能隔空投送)

  • 怎么用iPhone助手进行iPhone换机?(苹果助手hi)

    怎么用iPhone助手进行iPhone换机?(苹果助手hi)

  • 将时间序列转成图像——格拉姆角场方法 Matlab实现(时间序列转换)

    将时间序列转成图像——格拉姆角场方法 Matlab实现(时间序列转换)

  • day53-马踏棋盘(马踏棋盘游戏规则)

    day53-马踏棋盘(马踏棋盘游戏规则)

  • 物流企业怎么做大做强?
  • 材料入库的会计分录材料采购损失
  • 发生租赁费用怎么做账
  • 个人所得税有哪些减免政策
  • 劳动合同和劳务合同有什么区别 举例
  • 增值税专用发票明细太多怎么办
  • 去年的财务报表可以更正申报吗
  • 机动车换车
  • 拍卖书画收入如何交税
  • 会计凭证可分为哪三类
  • 预收账款年底要确认收入吗
  • 互联网合同要交社保吗
  • 查税是按基本账户吗
  • 印花税实收资本纳税义务发生时间
  • 应交税费应交增值税减免税款
  • 营改增后建筑业怎么开票
  • 何时进行文化事业建设
  • 小规模纳税人的起征点是多少
  • 分公司税款
  • 专票记账联丢失了要罚款吗
  • 增值税收入和所得税收入不一致怎么办
  • 企业银行承兑汇票
  • 收购免税农产品的税率
  • 社保不计提会计分录
  • 天猫的软件服务费指的是什么
  • mysql输入中文显示乱码
  • php数组函数输出《咏雪》里有多少"片"字
  • php curlfile
  • 劳务报酬所得缴纳时间
  • linux中断原理
  • form action target
  • php实现和工作原理
  • php如何实现登录和注册
  • 梵净山原名
  • thinkphp6依赖注入
  • 设备租赁的方式有哪些
  • 材料成本差异属于流动资产吗
  • 会计月报表怎么做表格
  • 工业企业如何纳税
  • 单位收到社保补贴的钱做账
  • package.json详解
  • blkid命令详解
  • php使用mysql
  • 印花税申报成功后在哪缴税
  • 房地产开发间接费用和开发费用的区别
  • 物业公司物业费税率是多少
  • 去银行打对账单和回执单需要拿什么
  • 公司账务不正规,账务外包的,财务助理有风险吗
  • 欠款收不回来了会计分录
  • 融资租赁开什么发票
  • 公司买车可以抵扣企业所得税吗
  • 合伙企业对外投资需要全体合伙人同意吗
  • 用现金支付的款项
  • 财产转让收入属于什么收入
  • 银行发行理财产品的流程
  • 从一个公司到另一个公司叫什么
  • 会计档案步骤
  • sql server 数据库介绍
  • SQL Server中通过reverse取某个最后一次出现的符号后面的内容(字符串反转)
  • mysql四个事务的四个特性
  • dockers容器
  • windows提示无法完成更新
  • mac 邮箱
  • freebsd常用命令
  • win10截图截不了怎么办?
  • 苹果完美越狱最新消息
  • linux的问题
  • sqlmangr.exe - sqlmangr是什么进程 有什么用
  • 查看syslog
  • 微软股票
  • macos unity
  • 使用jquery实现的项目
  • nodejs 插件开发
  • UNITY开发工程师
  • unityai寻路
  • 获取路径下的文件名
  • 现在的微信怎么用脚本登陆了
  • python3获取本机ip
  • 保险发票属于什么类型发票
  • 长春税务局电话举报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号