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

  • 上海企业知名大厂排名名称地址汇总

    上海企业知名大厂排名名称地址汇总

  • 怎么使用电脑浏览器扩展程序保存无水印视频(怎么用电脑端浏览器打开)

    怎么使用电脑浏览器扩展程序保存无水印视频(怎么用电脑端浏览器打开)

  • macbook怎么投屏到电视上(macbook怎么投屏到ipad上)

    macbook怎么投屏到电视上(macbook怎么投屏到ipad上)

  • 华为nova4怎么设置软件密码(华为nova4怎么设置微信加密)

    华为nova4怎么设置软件密码(华为nova4怎么设置微信加密)

  • 一个微信号两个手机登录(一个微信号两个区的王者荣耀能玩多久)

    一个微信号两个手机登录(一个微信号两个区的王者荣耀能玩多久)

  • 苹果手机无线网自动打开(苹果手机无线网打不开显示隔空投送)

    苹果手机无线网自动打开(苹果手机无线网打不开显示隔空投送)

  • 电脑图片怎么转换格式(电脑图片怎么转成word文档格式)

    电脑图片怎么转换格式(电脑图片怎么转成word文档格式)

  • 平板电脑如何连接打印机(平板电脑如何连接无线鼠标)

    平板电脑如何连接打印机(平板电脑如何连接无线鼠标)

  • 立兴是不是苹果官方售后(立兴apple授权服务中心)

    立兴是不是苹果官方售后(立兴apple授权服务中心)

  • 荣耀20s发热严重(华为荣耀20发热严重怎么搞)

    荣耀20s发热严重(华为荣耀20发热严重怎么搞)

  • 手机屏幕左上角显示HD怎么了(手机屏幕左上角图标怎么消除)

    手机屏幕左上角显示HD怎么了(手机屏幕左上角图标怎么消除)

  • 微信删除联系人后还能恢复吗(微信删除联系人对方还有我吗)

    微信删除联系人后还能恢复吗(微信删除联系人对方还有我吗)

  • 5g网络跟wifi有关系吗(5g信号和wifi)

    5g网络跟wifi有关系吗(5g信号和wifi)

  • id为什么打不开(id为什么打不开文件)

    id为什么打不开(id为什么打不开文件)

  • 路由器开关在哪里(路由器开关在哪里打开)

    路由器开关在哪里(路由器开关在哪里打开)

  • 华为p30pro怎么微信分身(华为p30怎么开微信)

    华为p30pro怎么微信分身(华为p30怎么开微信)

  • 为什么手机应用会停止运行(为什么手机应用很少,内存却满了)

    为什么手机应用会停止运行(为什么手机应用很少,内存却满了)

  • 钉钉签到在哪里(钉钉签到在哪里导出)

    钉钉签到在哪里(钉钉签到在哪里导出)

  • 苹果4s系统最高能升级多少(苹果4s最高版本)

    苹果4s系统最高能升级多少(苹果4s最高版本)

  • reno拍照技巧(opporeno怎么拍照好看)

    reno拍照技巧(opporeno怎么拍照好看)

  • 华为分享是什么意思详情(华为分享是什么意思关闭有影响吗)

    华为分享是什么意思详情(华为分享是什么意思关闭有影响吗)

  • 跟我学Python图像处理丨带你入门OpenGL(用python处理图像)

    跟我学Python图像处理丨带你入门OpenGL(用python处理图像)

  • ping命令  测试主机间网络连通性(ping命令可以用来测试什么)

    ping命令 测试主机间网络连通性(ping命令可以用来测试什么)

  • Python中的线程和多线程是什么(python线程和协程)

    Python中的线程和多线程是什么(python线程和协程)

  • 对方公司为什么一定要专票
  • 增值税计入成本吗?
  • 临时工工资列支工资吗
  • 合并报表中怎么抵消投资性房地产
  • 新成立的公司残保金如何申报
  • 增值税加计抵减最新政策2022
  • 银行承兑汇票背书可以拆分
  • 免征的附加税是什么
  • 融资租入的企业有哪些
  • 公司投资股票有风险吗
  • 运费单是什么
  • 委托、受托出口做账有哪些事项?
  • 股东债权转资本公积利和弊
  • 发票认证但未抵扣需要在报表里填吗
  • 旧税号还能开票吗
  • 员工报销费用
  • 汇兑损益减少怎么记账
  • 物业公司收的预存水费不够抵减怎么交税
  • 集体福利的增值税怎么算
  • 房地产企业预收款什么时候确认收入
  • 小规模固定资产一次性扣除
  • 向投资者宣告发放股利会影响所有者权益吗
  • 预计负债什么时候确认
  • 免征税收入和不征税收入的区别
  • 会计监督作用
  • 炫龙dd3笔记本怎么样
  • macos10.15.7
  • mac电脑修改dns
  • 库存现金的含义及特点
  • 补缴增值税滞纳金天数
  • 高新技术企业研发费用归集
  • 企业的往来账款包括哪些
  • 出口零退税率商品有哪些
  • 第4章 数据处理思维导图
  • 企业怎么知道增值税的核定方法
  • 租金收入会计分录怎么写
  • vue3响应式对象数组
  • php排序方法有几种区别
  • 融资租赁租入固定资产是什么意思
  • 残疾人就业保障金怎么申报
  • 小企业会计准则没有以前年度损益调整科目
  • 尚未抄税无法申报
  • db2bigint
  • 三表勾稽关系公式
  • 清卡操作流程
  • SQL server2008数据不存储,重启后正常
  • 政府收购企业的流程
  • 一般纳税人企业所得税税率2023
  • 在软件中的操作有哪些
  • 技术服务费属于什么科目
  • 发票什么情况下可以作废
  • 出纳现金日记账怎么记账
  • 资产负债表税务局能看到吗
  • 餐饮行业的原材料怎么做账
  • 销售毛利率越高越好吗
  • mysql5.7.31安装配置教程
  • mysql批量更新多条数据
  • 纸嫁衣6第四章攻略全文图解
  • win8电脑定时关机怎么设置方法
  • win10怎么预览
  • win8删除文件很慢
  • linux中安装软件可使用哪些方式
  • win8玩游戏
  • git打标签命令
  • cocos2d-x教程
  • js如何使用
  • jquery有什么功能
  • 天天数链是做什么的
  • 基于android的app
  • linux命令shell脚本
  • 辅组什么词?
  • android图片库
  • python lambda的用法
  • 基于javascript的毕业设计选题
  • 如何让listview提高效率
  • javascript异步编程
  • 建筑工程合同首付款
  • 车险包括车船费吗
  • 税收助力双创
  • 国税申报作废怎么操作
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设