为什么新加的行无法删除?

来源:9-22 编程练习

刘毅毅

2016-11-12 23:21

     function addt(){
        var tbody=document.getElementById("table").lastChild;
        var tr=document.createElement("tr");

        var td=document.createElement("td");
        var ip=document.createElement("input");
        ip.type="text";
        td.appendChild(ip);
		tr.appendChild(td);
		 
		var td = document.createElement("td");	 
        var ip=document.createElement("input");
        ip.type="text";
		td.appendChild(ip);
		tr.appendChild(td);
		 
		var td = document.createElement("td");	
        var a=document.createElement("a");
        a.href="javascript:;" 
        a.onclick=function(){"dele(this)"};
        a.innerHTML="删除";
        td.appendChild(a);
        tr.appendChild(td);
        
        tbody.appendChild(tr);
       Highlight(); 
     }
<td><a href="javascript:;" onclick="dele(this)">删除</a></td>


写回答 关注

3回答

  • stone310
    2016-11-13 13:11:20
    已采纳
    a.onclick=function(){"dele(this)"};

    这一句吗,事件这是函数表达式的写法,后面都是跟匿名函数,然后在函数内在进行调用;如果写成a.onclick=dele(this);相当于不需要点击直接调用dele函数,然后this指向window


    刘毅毅 回复stone3...

    这样啊,谢谢,初学应该视频和书一起看,最好还有个老师,要不有些细节地方就走弯路

    2016-11-13 13:49:03

    共 4 条回复 >

  • 刘毅毅
    2016-11-13 11:39:18

    我发现去掉dele(this)的引号就可以了。不知道为什么不能直接写a.onclick="dele(this)";?

  • stone310
    2016-11-13 06:55:13

    dele()这个函数内,没放出来

    刘毅毅

    我发现去掉dele的引号就可以了。好像这样定义a.onclick的话需要有function(){},原因不明

    2016-11-13 11:37:16

    共 1 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题