qq_灰色头像_17
2017-09-23 17:54
1,经过事件精确到一小格了,但是感觉代码有点多,用&&或者||不起作用。
2.添加一行或者删除一行代码,序号名字可以自动排列了,但是删除的时候会把前两个名字也修改了,这是代码问题。我想让函数从删除的那一行的下一个开始chenge,可是不知道怎么写,
请问楼主add()函数的最后两个循环是什么作用?bgcChange是啥?
你是想要删除一个人之后,把所有人的信息调整过来吧,那你可以在删除函数后调用一个重新排序命名的函数,排序简单,然后名字的话可以弄一个IF语句判断,如果名字的第一个字是‘’第‘’则按顺序修改为"第" + i + "个",如果不是的话,就不修改
经过事件应该给tr添加,给td添加就是一小格了
<!DOCTYPE html>
<html>
<head>
<title> new document </title>
<meta http-equiv="Content-Type" content="text/html; charset=gbk"/>
<script type="text/javascript">
window.onload = function () {
// 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
var tr = document.getElementsByTagName("tr");
for (i = 0; i < tr.length; i++) {
bg(tr[i]);
}
}
function bg(obj) {
obj.onmouseover = function () {
obj.style.backgroundColor = "#fff222";
}
obj.onmouseout = function () {
obj.style.backgroundColor = "#ffffff";
}
}
// 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
var num = 2;
function add() {
num++;
var tr = document.createElement("tr");
var xh = document.createElement("td");
var xm = document.createElement("td");
var sc = document.createElement("td");
var table = document.getElementById("table");
if (num < 10) {
xh.innerHTML = "xh00" + num;
} else if (num > 99) {
xh.innerHTML = "xh" + num;
} else {
xh.innerHTML = "xh0" + num;
}
xm.innerHTML = "第" + num + "个";
sc.innerHTML = "<a href='javascript:;' onclick='del(this);'>删除</a>"
tr.appendChild(xh);
tr.appendChild(xm);
tr.appendChild(sc);
table.appendChild(tr);
var tr = document.getElementsByTagName("tr");
for (i = 1; i < tr.length; i++) {
if (i < 10) {
tr[i].childNodes[0].innerHTML = "xh00" + i;
} else if (i > 99) {
tr[i].childNodes[0].innerHTML = "xh" + i;
} else {
tr[i].childNodes[0].innerHTML = "xh0" + i;
}
tr[i].childNodes[1].innerHTML = "第" + i + "个";
}
for (i = 0; i < tr.length; i++) {
bg(tr[i]);
}
}
// 创建删除函数
function del(obj) {
var sc = obj.parentNode.parentNode;
sc.parentNode.removeChild(sc);
var tr = document.getElementsByTagName("tr");
for (i = 1; i < tr.length; i++) {
if (i < 10) {
tr[i].childNodes[0].innerHTML = "xh00" + i;
} else if (i > 99) {
tr[i].childNodes[0].innerHTML = "xh" + i;
} else {
tr[i].childNodes[0].innerHTML = "xh0" + i;
}
tr[i].childNodes[1].innerHTML = "第" + i + "个";
}
}
</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="del(this);">删除</a></td></tr>
<tr><td>xh002</td><td>刘小芳</td><td><a href="javascript:;" onclick="del(this);">删除</a></td></tr>
</table>
<input type="button" value="添加一行" onclick="add();"/> <!--在添加按钮上添加点击事件 -->
</body>
</html>
加油,我是混积分的
JavaScript进阶篇
468063 学习 · 21891 问题
相似问题
回答 2
回答 1