为了账号安全,请及时绑定邮箱和手机立即绑定

在做此编程题的过程中有三个问题不理解

1:这里的<script></script>标签是写在<head></head>里面的。按照之前的知识在这里“添加一行”这个函数里面通过getElementById()这个方法应该没用呀,因为这个发生在body里面的内容加载之前。据我所知将javascript代码放在window.onload()=function(){}里面这个问题可以解决。但是我看其他同学的这个函数并没有放在window.onload()=function(){}里面为什么也能够执行成功。

2:

for(var i = 1; i < trs.length; i++) {

trs[i].onmouseover = function() {

this.style.backgroundColor = "gray"; //为什么用this有效果     用trs[i]却没效果

}

trs[i].onmouseout = function() {

this.style.backgroundColor = "white";

}

}


3:td.innerHtml与td.firstChild.nodeValue不都是代表<td></td>中间的文本内容吗?

我用   td.innerHtml=prompt("请输入学号");有效果

用      td.firstChild.nodeValue=prompt("请输入学号");却没有效果

难道前者既能读也可以写,后者只能读不能写?


正在回答

2 回答

  1. 删除和添加两个函数都是在你点击以后才会发生的 所有你点击的时候早就加载好了  放在哪都可以

  2. 你学到this就知道了  this就等于你的trs[i]  你function里面再用trs[i]  就相当于等号两边都有参数i,逻辑上过不去

  3. nodeValue不是代表文本内容

    元素节点的 nodeValue 是 undefined 或 null
    文本节点的 nodeValue 是文本自身
    属性节点的 nodeValue 是属性的值

2 回复 有任何疑惑可以回复我~
#1

维维豆奶最好喝 提问者

非常感谢!
2017-06-15 回复 有任何疑惑可以回复我~
#2

Tummyks 回复 维维豆奶最好喝 提问者

不好意思 刚才第一点有点问题 那两个函数不能放到window.onload里面 因为放在里面,body里行间的onclick访问不到局部函数 这点和作用域有关 你可以看看作用域有关的知识
2017-06-15 回复 有任何疑惑可以回复我~
#3

维维豆奶最好喝 提问者 回复 Tummyks

好的。谢谢你
2017-06-17 回复 有任何疑惑可以回复我~
#4

Zz皓

第二点我不是很理解,方便再解释一下吗
2017-11-18 回复 有任何疑惑可以回复我~
查看1条回复

棒棒的

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       469484    人
  • 解答问题       22585    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

在做此编程题的过程中有三个问题不理解

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号