Uncaught ReferenceError: resource is not defined at HTMLAnchorElement.onclick (learn_demo01.html
来源:互联网 发布:mysql事务锁 编辑:程序博客网 时间:2024/05/17 17:54
今天写js代码时,出现一个问题:
**Uncaught ReferenceError: resource is not defined
at HTMLAnchorElement.onclick (learn_demo01.html:1)**
起因,我想给a标签添加一个点击事件,通过点击事件的函数修改页面的显示的图片(就是修改图片的路径),但是给a标签添加上了onclick事件,但是点击事件的函数却一直没有触发。而且控制台一直出现上面的错误。
html
<h3>图片库</h3> <ul class="img_link"> <li><a href="javascript:;" title="图片1">图片1</a></li> <li><a href="javascript:;" title="图片2">图片2</a></li> <li><a href="javascript:;" title="图片3">图片3</a></li> <li><a href="javascript:;" title="图片4">图片4</a></li> <li><a href="javascript:;" title="图片5">图片5</a></li> <li><a href="javascript:;" title="图片6">图片6</a></li> <li><a href="javascript:;" title="图片7">图片7</a></li> <li><a href="javascript:;" title="图片8">图片8</a></li> </ul> <div class="show_img"> <img src="resource/images/run_img1.jpg" alt="图片1" /> </div> <!--引入js文件--> <script type="text/javascript" charset="UTF-8" src="js/demo01.js"></script>
js
//全局变量//获取图片所在的ul元素节点var ul_imgLink = document.getElementsByClassName("img_link")[0];//获取图片所在的所有li元素节点var li_imgLinks = ul_imgLink.getElementsByTagName("li");//获取显示图片的divvar div_img = document.getElementsByClassName("show_img")[0];//获取显示图片的div下的img元素节点var showImg = div_img.getElementsByTagName("img")[0];//定义一个图片的路径数组var img_urls = [ "resource/images/run_img1.jpg", "resource/images/run_img2.jpg", "resource/images/run_img3.jpg", "resource/images/run_img4.jpg", "resource/images/run_img5.jpg", "resource/images/run_img6.jpg", "resource/images/run_img7.jpg", "resource/images/run_img8.jpg"];//onload事件window.onload=function(){ //调用下面函数 imgLinkClickEvent();}//给图片的超链接添加点击事件function imgLinkClickEvent(){ for(var i = 0; i < li_imgLinks.length; i++){ //获取图片所在的li元素节点下的a元素节点 var a_imgLinks = li_imgLinks[i].getElementsByTagName("a"); //获取图片所在的li元素节点下的a元素节点的title属性值 var a_title = a_imgLinks[0].getAttribute("title"); //获取图片所在的li元素节点下的a元素节点的href属性值 var a_url = img_urls[i]; //给图片的超链接添加点击事件 a_imgLinks[0].setAttribute("onclick","setImgAttribute("+a_url+","+a_title+")"); }}function setImgAttribute(url,title){ showImg.src = url; showImg.alt = title;}
结果:我发现html中的页面a标签的onclick事件是这样的
onclick="setImgAttribute(resource/images/run_img4.jpg,图片4)"
大致一看,没错啊,参数正常,后来反复检查,就是没有给参数添加双引号,结果参数发生错误导致的。正确的写法应该是
//给图片的超链接添加点击事件 a_imgLinks[0].setAttribute("onclick","setImgAttribute(\""+a_url+"\",\""+a_title+"\")");
页面上应该显示的是这样的
onclick="setImgAttribute("resource/images/run_img4.jpg","图片4")"
错误一直显示没有发现resource就是因为参数不是String类型。
发此文章,与君共勉。
阅读全文
0 0
- Uncaught ReferenceError: resource is not defined at HTMLAnchorElement.onclick (learn_demo01.html
- Uncaught ReferenceError: AMap is not defined at index.html:18
- Uncaught TypeError: download is not a function at HTMLAnchorElement.onclick (index.html:25)
- Uncaught ReferenceError: $ is not defined
- Uncaught ReferenceError: $ is not defined
- Uncaught ReferenceError: $ is not defined
- Uncaught TypeError: search is not a function at HTMLAnchorElement.onclick (airport.do:70)
- 关于Uncaught TypeError: type is not a function at HTMLAnchorElement.onclick (indexjsp:71)的解决
- html标签里的onclick的时候总是报错:Uncaught ReferenceError: dosave is not defined(…)
- Uncaught ReferenceError: angular is not defined 错误
- Uncaught ReferenceError: BMapLib is not defined
- Uncaught ReferenceError: $ is not defined (anonymous function)
- Uncaught ReferenceError: Ext is not defined
- Uncaught ReferenceError: echarts is not defined解决方案
- uncaught referenceerror angular is not defined
- Uncaught ReferenceError: jQuery is not defined
- Uncaught ReferenceError: moresearch is not defined 错误
- Jquery异常: Uncaught ReferenceError: $ is not defined
- CSS max-width 属性
- APUE读书笔记-第十四章-高级I/O
- Git-分支管理
- XHTML中,js的CData片段出现的解析
- 基于pthread的C++阻塞队列模板类的实现
- Uncaught ReferenceError: resource is not defined at HTMLAnchorElement.onclick (learn_demo01.html
- Source Insight 如何显示C++中的类方法----备忘
- hibernate与mybatis异同与比较(涵盖网上各个版本,清晰明了)
- 【多媒体编解码】Openmax IL (一)官方文档概述
- Spring的基本裝配
- CentOS开机自动运行程序的脚本
- UI自动化:如何提高自动化框架的可移植性(取消绝对路径)
- java批量添加文件后缀
- docker安装方法