第一个是因为:js写在了body前面,写在了head前面,,这种有两种解决办法:第一:在<script></script>外面包裹一个入口函数:window.onload=function(){}
第二:把<script></script>放在body的最后
第二个是因为:定义了按钮空值
代码如下:
html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
margin: 0px ;
padding: 0px;
}
table{
border: 1px solid #000;
border-collapse: collapse;
}
td{
border: 1px solid #000;
height: 50px;
width: 200px;
text-align: center;
line-height: 50px;
box-sizing: border-box;
}
td:nth-of-type(4n){
color: red;
cursor: pointer;
}
</style>
</head>
<body>
姓名:<input type="text" id="name">
班级:<input type="text" id="banji">
<button id="add">新增</button>
<button id="delete">删除</button>
<table>
<tr id="hang">
<td>选择</td>
<td>姓名</td>
<td>班级</td>
<td>删除</td>
</tr>
</table>
<script src="作业.js"></script>
</body>
</html>
js代码:
function $(idname){
return document.getElementById(idname);
}
var add=$('add');
add.onclick=function(){
var name=$('name').value;
var banji=$('banji').value;
/* while(name[0]==' '){
name.substring(1,name.length)
}
while(banji[0]==' '){
banji.substring(1,banji.length)
}
if(name=''){
alter('请输入姓名')
}
if(banji=''){
alter('请输入班级')
}
else{*/
var radio=document.createElement('input')
radio.type='radio';
var tr=document.createElement('tr')
var td1=document.createElement('td')
var td2=document.createElement('td')
var td3=document.createElement('td')
var td4=document.createElement('td')
td1.appendChild(radio)
tr.appendChild(td1);
tr.appendChild(td2);
tr.appendChild(td3);
tr.appendChild(td4);
document.body.appendChild(tr);
td1.innerHTNL=radio;
td2.innerHTML=name;
td3.innerHTML=banji;
td4.innerHTML='删除'
/*}*/
var shanchu=$('td4');
shanchu.onclick=function(){
this.parentNode.parentNode.removeChild(this.parentNode);
}
}
var shanchu=$('td4');是一个空值,把var shanchu去掉
把shanchu该为td4就好了