请问这是什么情况,我刚写JS就报错?

请问这是什么情况,我刚写JS就报错?

明明先定义了content,".allSelected"和".select"都是他的子元素

//js

var content = document.querySelector("#shoping-cart"),

allSelected = content.querySelector(".allSelected"),

selects = content.querySelectorAll(".select");


allSelected.onclick = function(){

for(var i=0; i < selects.length; i++){

selects[i].style.checked = "true";

}

}

http://img1.sycdn.imooc.com//climg/5c84e83e0001644010920274.jpg

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你好,window.onload事件通常用于检测文档内容或者图片是否加载完毕,所以添加上是可以获取到元素的。

而(function(){})()立即执行函数没有这个作用,就是加载js文件的时候,里面的代码会立即执行,执行的时候html结构还没有加载完毕,所有没有获取到。

祝学习愉快!

好帮手慕星星 2019-03-11 10:23:44

你好,按照同学说的关系测试了一下,是可以正确获取到的:

http://img1.sycdn.imooc.com//climg/5c85c66f0001e9b707770385.jpg

http://img1.sycdn.imooc.com//climg/5c85c67700012ec703750124.jpg

不知道同学是不是类名与html中不一致导致错误的,建议检查一下。

如果自己找不到问题,建议将html代码粘贴上来,老师帮助你测试下问题。

祝学习愉快!

  • 提问者 weixinapp_慕粉007 #1
    我是把JS文件写在了外部,然后引用他的,我试了非要把内容写在window.onload = function(){} ,但是为什么写在(fnction(){......})(); 里就不起作用了呢?
    2019-03-16 21:43:46
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
组件化思想开发电商网页 18版
  • 参与学习           人
  • 提交作业       467    份
  • 解答问题       4826    个

本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师