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

  • 申请退还增量留抵税额的条件包括
  • 房产税从价改从租,多缴税款要加收滞纳金吗
  • 收取境外服务费收入如何开票
  • 一般纳税人销售农产品增值税税率
  • 工会经费支付福利方案
  • 出差加油算什么费用
  • 所得税不计提直接缴纳,年末一次性计提
  • 企业所得税包含哪些税种
  • 已经认证的抵扣联不见了,怎么办?
  • 买金税盘发票能全额抵进项税吗
  • 职工福利基金提取规定
  • 应收款未收到怎么做账
  • 销售沙石可以简易计征吗
  • 上级单位给的奖金叫什么
  • 购买的认证标志入什么费用?
  • 国家税务总局2011年第25号公告
  • 景区门票 报销
  • 个人所得税成本费用怎么算
  • 支票大写金额书写转换
  • 移动电子发票显示无法开具怎么获取发票
  • 员工意外伤害保险怎么买
  • 设置按住键盘重启怎么弄
  • 公转私用途最好写借款
  • 通行费怎么认证
  • 代发工资要缴纳社保吗
  • linux dism
  • 私营合伙企业个税怎么算
  • php安装教程详解
  • php readdir函数
  • PHP:oci_bind_array_by_name()的用法_Oracle函数
  • 销售退回的处理方法
  • 担保赔偿准备金和未到期责任准备金实例
  • 拍到国际空间站过境
  • PHP:date_default_timezone_get()的用法_Date Time函数
  • zendstudio怎么创建php项目
  • vue的foreach循环
  • 阿里月薪3万到手多少
  • js创建对象的三种方式
  • 原材料暂估入库成本结转处理
  • 出纳会计和现金会计的区别
  • 资产减值损失属于营业外支出吗
  • sqlserver调用存储过程写法
  • protobuf 文档
  • sql查询使用临时表
  • 企业应付账款的借方余额反映的是
  • 公司买车赠送给个人,怎么交税
  • 利润与所有者权益的区别
  • 收到暂估跨年发票怎么办
  • 余额调节表一定要编制吗
  • 接受捐赠后怎么发表感言
  • 累计预扣法的优缺点
  • 固定资产中如何计算折旧
  • 买车给了上牌费去车管所还用给钱吗
  • 普通发票作废如何操作
  • 转账凭证的编制流程
  • mysql查询条件不区分大小写
  • mysql 5.7.22安装教程
  • 通过zeno实现加速屏幕显示操作教程
  • u盘装win7系统步骤
  • mac快速开机
  • vc6_cn_full.exe
  • 苹果电脑怎么切换系统
  • mac系统终端命令大全
  • 电脑主板故障分析与判断
  • centos基本操作命令
  • win8系统硬盘怎样分区
  • ie等级
  • jquery 点击按钮
  • Extjs EditorGridPanel中ComboBox列的显示问题
  • kotlin开发安卓教程
  • bat脚本怎么运行
  • perl实例
  • python 获取网页上文件地址
  • 批处理延迟变量
  • javascript数组的常用方法
  • javascript怎么学
  • 详解Javascript事件驱动编程
  • js对象的常用方法
  • 根据消费税暂行条例的规定,纳税人自产自用
  • 三证一码是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设