this,lastChild,还有href="javascript:;"是怎么回事求大神告知!!!

来源:9-22 编程练习

疯小蕾

2017-03-07 15:29

function Highlight(){

var tbody = document.getElementById('table').lastChild;

trs = tbody.getElementsByTagName('tr');   

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

trs[i].onmouseover = function(){

this.style.backgroundColor ="#f2f2f2";

trs[i].onmouseout = function(){

this.style.backgroundColor ="#fff";

}  

}


  </script> 

 </head> 

 <body> 

  <table border="1" width="50%" id="table">

  <tr>

<th>学号</th>

<th>姓名</th>

<th>操作</th>

  </tr>  


  <tr>

<td>xh001</td>

<td>王小明</td>

<td><a href="javascript:;" onclick="deleteRow(this)">删除</a></td>

  </tr>


  <tr>

<td>xh002</td>

<td>刘小芳</td>

<td><a href="javascript:;" onclick="deleteRow(this)">删除</a></td>

  </tr>  


  </table>

  <input type="button" value="添加一行" onclick="addOne()" />


1这里面的this的用法,到底指的是哪个对象告诉一下,

2然后为什么要得到getElementById("table").lastChild。这个对象不是表格中最后一个<tr>标签吗??

3herf="javascript:;" 是什么意思谢谢。。



写回答 关注

3回答

  • 想当大牛
    2017-03-07 20:55:44
    已采纳

    个人理解:

    this是它所在位置的对象,也就是<a>标签

    .lastChild,应该是网页默认<table>里有一个<tbody>标签,而<tr>标签在<tbody>之内,只不过是隐藏了<tbody>,其实你按没有<tbody>编写程序也是一样的,

    var tbody = document.getElementById('table').lastChild;

    trs = tbody.getElementsByTagName('tr');  

    这两句可以写成一句trs = document.getElementsByTagName('tr');我觉得实现的效果一样。

    href="javascript:;",这个我不懂,我就理解为,要打开的网址实际上是一个javascript函数  

    疯小蕾

    应该是网页默认<table>里有一个<tbody>标签,javascript里面貌似有好多默认的东西,叫隐式之类的。。谢谢你!!

    2017-03-08 08:40:48

    共 1 条回复 >

  • 慕移动9181930
    2022-03-26 02:08:17

    一样,刚开始学,一大堆东西把我吓尿了

  • 金风玉露亦相逢
    2017-03-07 16:38:25

    1. this指当前对象 , 下面的 this 表示 trs[i] 对象

    trs[i].onmouseover = function(){
    		        this.style.backgroundColor = '#ccc';
    		    }

    2. document.getElementById('table').lastChild; 实际上是<tbody>标签 , 你可以右键table位置查看

    var tbody = document.getElementById('table').lastChild;

    3. href="javascript:;" 是一个伪协议,他会执行JavaScript后面的 js 代码 , 比如 href="javascipt:alert('aaa');" 他就会出现弹窗显示 aaa , 后面没代码就表示什么都不执行 , 然后执行 onclick 事件 .

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题