<table cellspacing="0" cellpadding="0" width="100%" class=mTable id="month">
<tr><td rowspan=2>月任务</td>
<td>1月</td><td>2月</td><td>3月</td><td>4月</td><td>5月</td><td>6月</td><td>7月</td><td>8月</td><td>9月</td><td>10月</td><td>11月</td><td>12月</td></tr>
<tr><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td>
</tr>
</table>
2行13列的表
我现在要实现1个change(start,end)的JS函数,
比如change(2,6)那我的table就只留下第一列月任务和2月到6月的列,1月和7-12月的列就删除掉,
请问这个change(start,end)应该怎么写啊,我用deleteCell(索引)
主要遇到的1个问题是某列被删除掉后,所有列的索引会发生变化,
<tr><td rowspan=2>月任务</td>
<td>1月</td><td>2月</td><td>3月</td><td>4月</td><td>5月</td><td>6月</td><td>7月</td><td>8月</td><td>9月</td><td>10月</td><td>11月</td><td>12月</td></tr>
<tr><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td>
</tr>
</table>
2行13列的表
我现在要实现1个change(start,end)的JS函数,
比如change(2,6)那我的table就只留下第一列月任务和2月到6月的列,1月和7-12月的列就删除掉,
请问这个change(start,end)应该怎么写啊,我用deleteCell(索引)
主要遇到的1个问题是某列被删除掉后,所有列的索引会发生变化,
我用deleteCell(索引)
主要遇到的1个问题是某列被删除掉后,所有列的索引会发生变化,
我觉得你的可行,要改下就是。删除并非删除,用innerText将删除单元格的内容清掉
stable.td.innerText = "";那样索引就不会变了
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>test</title>
</head><body>
<table cellspacing="0" cellpadding="0" width="100%" class=mTable id="month">
<tr><td rowspan=2>月任务</td>
<td>1月</td><td>2月</td><td>3月</td><td>4月</td><td>5月</td><td>6月</td><td>7月</td><td>8月</td><td>9月</td><td>10月</td><td>11月</td><td>12月</td></tr>
<tr><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td><td><input type="text" size=8 /></td>
</tr>
</table>
<script>
function change(s,e){
var t = document.getElementById("month");
for(var i=0;i<t.rows.length;i++){
var cells = t.rows(i).cells;
if(i==0){
for(var j=1;j<cells.length;j++){
if(j<s||j>e){
cells[j].style.display = "none";
}else{
cells[j].style.display = "";
}
}
}else{
for(var j=0;j<cells.length;j++){
if(j<s-1||j>e-1){
cells[j].style.display = "none";
}else{
cells[j].style.display = "";
}
}
}
}
}
change(2,6);
alert("现在是2-6");
change(5,11);
alert("现在是5-11");
</script></body></html>
我刚才想到.style.display = "none";
但是我写成.display = "none";这样了,多谢大家
function removeCells(start, end) {
var tab = document.getElementById("month");
var rows = tab.rows;
for (var i = 0; i < rows.length; i++) {
var cells = rows[i].cells;
for (var j = 0; j < cells.length; j++) {
if (j >= start && j <= end) {
tab.rows[i].deleteCell(start);//因为删除后,后面的元素会移到刚删除的那个位置;所以继续删除这个位置上的元素即可。
//要想删除其他,只需改if的条件就可以了。这里删除的是2-6月,剩下1、7-12月的
}
}
}
}
window.onload = function () {
removeCells(2, 6);
};