问答详情
源自:9-22 编程练习

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

     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>


提问者:刘毅毅 2016-11-12 23:21

个回答

  • stone310
    2016-11-13 13:11:20
    已采纳

    a.onclick=function(){"dele(this)"};

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


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

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

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

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