位置: IT常识 - 正文

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

编辑:rootadmin
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‘ 报错(完美解决战网已休眠正在唤醒它)

  • 加计抵扣10%的进项税 会计处理
  • 单位买另一单位银行承兑汇怎样入账?
  • 应付职工薪酬社保
  • 员工离职 社保
  • 建筑工程地址
  • 土地款印花税计入无形资产吗
  • 个人借款到期未还诉讼时效
  • 工资扣除水电费扣个税
  • 购买的固定资产可以一次计入管理费用吗
  • 两免三减半政策适用哪些企业
  • 建筑业增值税普通发票可以抵扣吗
  • 个人二手房转让税费
  • 已申报税额什么时候缴纳
  • 国税通用机打发票有几联
  • 全资子公司效益怎么算
  • 电子发票怎么打成A4纸一半
  • 出口退免税资格备案
  • 认购价和发行价的差价
  • 中介收中介费后就不管了
  • 如何降低融资成本率
  • 预付业务招待费会计分录
  • win10专业版19042.630
  • php文件类型码
  • 多付货款退回的法律依据
  • 新车发生事故报废保险怎么赔付
  • mis.off c n
  • 非正常原因造成的损失计入什么科目
  • 公益慈善事业捐赠个人所得税
  • 交易性金融资产的交易费用计入哪里
  • 用友结算成本处理的作用
  • 停产企业税收申请减免
  • 【AIGC】1、爆火的 AIGC 到底是什么 | 全面介绍
  • 软件是无形的,可见的物理实体
  • 企业应付账款的会计分录
  • 生物制品简易征收文件
  • ssd训练自己的数据集pytorch
  • 企业捐赠的资产如何入账
  • 劳务派遣怎么开
  • numpy array ndarray区别
  • ps魔棒工具选择图像时在容差数值较大的是
  • index.php备份文件名
  • 出售汽车固定资产要交什么税
  • 自建厂房折旧算制造费用吗
  • 小规模免税怎么做账务处理
  • 退税流程怎么操作个人所得税2022
  • 用友u8财务报表打印设置在哪
  • 开票系统服务费计入什么费用
  • 商品互换定义
  • 车间拆除施工方案
  • 金税盘未响应什么意思
  • 公司转投资是什么意思
  • 预收账款过多,税务让说明原因
  • 间接持股比例如何分析
  • java如何连接sql
  • window10收藏夹怎么导出
  • Ubuntu After Install 2.6 帮助你安装 Ubuntu 常用软件
  • 英雄联盟支持win7
  • linux或者命令
  • linux的防火墙配置文件
  • centos6.5怎么安装
  • 简述dom的组成
  • 用jquery
  • jquery可以实现哪些效果
  • python tcp socket
  • unity平移场景视图怎样操作?
  • 充分发挥党员的先锋模范作用,积极
  • jquery的validate前端表单验证
  • javascript entries
  • jqueryif判断
  • Unity3D游戏开发(第2版)pdf
  • python数据类型有什么用
  • js弹出div出现遮罩层
  • Python编程中装饰器的使用示例解析
  • 通用申报表水利基金怎么填
  • 衰竭期矿山开采的矿产品减征幅度
  • 光伏发电地方税收
  • 哈尔滨银行网上银行怎么开通
  • 税务局调查巡查政策依据
  • 怎样以实际行动争取入团
  • 西安市乱占耕地建房
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设