就是这样一段代码,各位高手帮我看看,为什么ie中不行,FF中行。可以复制下去看看啊。<html>
<head>
<script type="text/javascript">
    function past(){
        var da = document.getElementById("count").value;
        var ct = parseInt(da) + 1;
        document.getElementById("count").value = ct;     
       
        var ta1 = document.createElement("textarea");
        var ta2 = document.createElement("textarea");
        var ta3 = document.createElement("textarea");
        var ta4 = document.createElement("textarea");
        
        ta1.setAttribute("id","title"+ct);
        ta1.setAttribute("name","title"+ct);
        ta1.setAttribute("cols","35");
        ta2.setAttribute("id","content"+ct);
        ta2.setAttribute("name","content"+ct);
        ta2.setAttribute("cols","80");
        ta3.setAttribute("id","ration"+ct);
        ta3.setAttribute("name","ration"+ct);
        ta4.setAttribute("id","planDay"+ct);
        ta4.setAttribute("name","planDay"+ct);
        ta4.setAttribute("readonly","readonly");
        ta4.setAttribute("onfocus","WdatePicker({startDate:'%y-%M-01 00:00:00',dateFmt:'yyyyMMdd',alwaysUseStartDate:true})");   
        
        var td1 = document.createElement("td");
        var td2 = document.createElement("td");
        var td3 = document.createElement("td");
        var td4 = document.createElement("td");
        
        td1.setAttribute("align","center");
        td1.setAttribute("colspan","2");
        td2.setAttribute("align","center");
        td2.setAttribute("colspan","4");
        td3.setAttribute("align","center");
        td4.setAttribute("align","center");
        
        var rt = document.createElement("tr");
        rt.setAttribute("id","tr"+ct);
        
        td1.appendChild(ta1);
        td2.appendChild(ta2);
        td3.appendChild(ta3);
        td4.appendChild(ta4);
        
        rt.appendChild(td1);
        rt.appendChild(td2);
        rt.appendChild(td3);
        rt.appendChild(td4);
        
        var tb = document.getElementById("addTable");
        tb.appendChild(rt);
    }
    function cut(){
        var da = document.getElementById("count").value;
        var ct = parseInt(da);
        if(ct == 1){
            return false;
        }
        var rt = document.getElementById("tr"+ct);
        var tb = document.getElementById("addTable");
        tb.removeChild(rt);
        document.getElementById("count").value = ct - 1;
    }
</script>
<title>ITSM</title>
</head>
<body>
<input type="button" value="+" onclick="past()"> 
<input type="button" value="-" onclick="cut()"> 
<input type="hidden" id="count" name="count" value="1"> 
<table border="1" id="addTable" name="addTable">
<tr>
<td align="center" colspan="2"><textarea id="title1" name="title1" cols="35"></textarea></td>
<td align="center" colspan="4"><textarea id="content1" name="content1" cols="80"></textarea></td>
<td align="center"><textarea id="ration1" name="ration1"></textarea></td>
<td align="center"><textarea id="planDay1" name="planDay1" readonly="readonly" onfocus="WdatePicker({startDate:'%y-%M-01 00:00:00',dateFmt:'yyyyMMdd',alwaysUseStartDate:true})"></textarea></td>
</tr>
</table>
</body>
</html>

解决方案 »

  1.   

    是的,IE下面要用 insertRow() 方法,下面是我给的实现<html>
        <head>
            <meta http-equiv="content-type" content="text/html; charset=utf-8">
            <META http-equiv="Content-Style-Type" content="text/css">
        </head>
        <script language=javascript>
            var TH_HEIGHT="20px";
            var THCOLOR="#ffff99";
            var THBGCOLOR= "#ccecff";
            var NEW_COLOR="#ffffff";
            var rowcoult=1;
            function addrows(addvalue) {
    rowcoult+=addvalue;
              if(rowcoult<1)  rowcoult=1;
                var newRow,col1,col2,col3;
                var ln = document.getElementById("tb1").rows.length;
                if( ln > 0){
                    for(var i=0; i<ln; i++){
                        if(document.getElementById("tb1").rows.length <= 0)break;
                        document.getElementById("tb1").deleteRow(-1);
                    }
                }
                for(var colno=0; colno<rowcoult; colno++){ 
                       
                    newRow = document.getElementById("tb1").insertRow(-1);
                    newRow.id = 'r'+colno;
                    document.getElementById("r"+colno).height = TH_HEIGHT;
                    document.getElementById("r"+colno).bgColor = THCOLOR;
                    col1=newRow.insertCell(0);
                    col2=newRow.insertCell(1);
                    col3=newRow.insertCell(2);
                    col1.id="col1"+colno
                    col2.id = "col2"+colno;
                    col3.id = "col3"+colno;
                    col1.innerText = "列一"+colno;
                    col2.innerText = "列二"+colno;
                    col3.innerText = "列三"+colno;
               
                }
            }
            function alertMe(){
                this.bgColor=NEW_COLOR;
            }
            window.onload=function(){
                addrows(0);
            }    </script>
        <body ><div><input type=button id=add value="+" onclick=addrows(1)>
    <input type=button id=dec value="-" onclick=addrows(-1)></div>
            <TABLE  cellSpacing="0" borderColorDark="black" cellPadding="1" borderColorLight="black"  border="1">
                <thead>
                <COLGROUP>
                    <COL align="center">
                    </COL>
                    <COL align="center">
                    </COL>
                    <COL align="center">
                    </COL>
                    <COL align="center">
                    </COL>
                <TR height="22px" bgColor="#ccecff">
                    <TH width="36" >列1</TH>
                    <TH width="36" >列2</TH>
                    <TH width="36" >列3</TH>
                </TR>
            </thead>
            <TBODY id="tb1">
            </TBODY>
        </TABLE>
    </select>
    </div>
    </body>
    </html>
      

  2.   


    //只要把增加和删除的那两句分别换成这样
     tb.tBodies[0].appendChild(rt);
     tb.tBodies[0].removeChild(rt);
      

  3.   

    past中最后 加 if(document.all) tb.outerHTML = tb.outerHTML;
    cut 改一句 if(document.all) rt.removeNode(true);
            else tb.removeChild(rt);
    即可<html>
    <head>
    <script type="text/javascript">
        function past(){
            var da = document.getElementById("count").value;
            var ct = parseInt(da) + 1;
            document.getElementById("count").value = ct;     
           
            var ta1 = document.createElement("textarea");
            var ta2 = document.createElement("textarea");
            var ta3 = document.createElement("textarea");
            var ta4 = document.createElement("textarea");
            
            ta1.setAttribute("id","title"+ct);
            ta1.setAttribute("name","title"+ct);
            ta1.setAttribute("cols","35");
            ta2.setAttribute("id","content"+ct);
            ta2.setAttribute("name","content"+ct);
            ta2.setAttribute("cols","80");
            ta3.setAttribute("id","ration"+ct);
            ta3.setAttribute("name","ration"+ct);
            ta4.setAttribute("id","planDay"+ct);
            ta4.setAttribute("name","planDay"+ct);
            ta4.setAttribute("readonly","readonly");
            ta4.setAttribute("onfocus","WdatePicker({startDate:'%y-%M-01 00:00:00',dateFmt:'yyyyMMdd',alwaysUseStartDate:true})");   
            
            var td1 = document.createElement("td");
            var td2 = document.createElement("td");
            var td3 = document.createElement("td");
            var td4 = document.createElement("td");
            
            td1.setAttribute("align","center");
            td1.setAttribute("colspan","2");
            td2.setAttribute("align","center");
            td2.setAttribute("colspan","4");
            td3.setAttribute("align","center");
            td4.setAttribute("align","center");
            
            var rt = document.createElement("tr");
            rt.setAttribute("id","tr"+ct);
            
            td1.appendChild(ta1);
            td2.appendChild(ta2);
            td3.appendChild(ta3);
            td4.appendChild(ta4);
            
            rt.appendChild(td1);
            rt.appendChild(td2);
            rt.appendChild(td3);
            rt.appendChild(td4);
            
            var tb = document.getElementById("addTable");
            tb.appendChild(rt);
            if(document.all) tb.outerHTML = tb.outerHTML;
        }
        function cut(){
            var da = document.getElementById("count").value;
            var ct = parseInt(da);
            if(ct == 1){
                return false;
            }
            var rt = document.getElementById("tr"+ct);
            var tb = document.getElementById("addTable");
            if(document.all) rt.removeNode(true);
            else tb.removeChild(rt);
            document.getElementById("count").value = ct - 1;
        }
    </script>
    <title>ITSM</title>
    </head>
    <body>
    <input type="button" value="+" onclick="past()"> 
    <input type="button" value="-" onclick="cut()"> 
    <input type="hidden" id="count" name="count" value="1"> 
    <table border="1" id="addTable" name="addTable">
    <tr>
    <td align="center" colspan="2"><textarea id="title1" name="title1" cols="35"></textarea></td>
    <td align="center" colspan="4"><textarea id="content1" name="content1" cols="80"></textarea></td>
    <td align="center"><textarea id="ration1" name="ration1"></textarea></td>
    <td align="center"><textarea id="planDay1" name="planDay1" readonly="readonly" onfocus="WdatePicker({startDate:'%y-%M-01 00:00:00',dateFmt:'yyyyMMdd',alwaysUseStartDate:true})"></textarea></td>
    </tr>
    </table>
    </body>
    </html>
      

  4.   

    你也可以用object.deleteRow( [iRowIndex])