兼容FF这个很有难度...
建议用JQUERY之类实现...

解决方案 »

  1.   

    添加一项
    var objchoice=document.createElement("label");
         objchoice.innerHTML="<br><span>选项"+i+":</span><input maxlength=\"50\" name=\"choices\" type=\"text\" /><span style=\"cursor: pointer;\" onclick=\"\">删除</span></label>"
            document.getElementById("polloption").appendChild(objchoice);不过删除一项不知道怎么解决
      

  2.   

    给个新浪邮箱上添加附件和删除附件的程序你看看,或许对你有用:
    function addAttach(noAlert){
    if (att_count >= 20 && !noAlert){
    alert("最多只能添加20个附件!");
    return;
    }
    for (var i = 0; i < 20; i++) {
    if(!$("divAttach_" + i)) {
    var tmpDiv = '<div id="divAttach_' + i +'">';
    tmpDiv += '<input index="7" type="file" name="atth'
    + i + '" class="att_file_input" onkeypress="blur()" onpaste="return false" onchange="addAttach(true);"></input>'
    + ' <a href="#delatt" onclick="delAttach(\'' + i + '\')" class="delete_attach">移除附件</a>';
    tmpDiv += "</div>";
    new Insertion.Bottom($('compose_att_td'), tmpDiv);
    att_count ++
    window.parent.resizeMainBody();
    break;
    }
    }
    try{window.parent.resizeMainBody();}catch(e){}
    }
    function delAttach(index){
    Element.remove($("divAttach_" + index));
    att_count --
    try{window.parent.resizeMainBody();}catch(e){}
    }
      

  3.   

    对了,它上一级的resizeMainBody函数:
    function resizeMainBody(pageHeight){
    var frameHeight = $("mainbody").contentWindow.document.body.scrollHeight+20;
    frameHeight = (frameHeight>500) ? frameHeight : 500;
    if(pageHeight){frameHeight = pageHeight;};
    $("mainbody").style.height=frameHeight+"px";
    }
      

  4.   


    function del(sx){
    var list = document.getElementsByTagName("label");
    for(var i=0,j=1;i<list.length;i++){
    var el = list[i];
    if(el.sx==sx){
    el.removeNode(true);
    i--;
    }
    else{
    el.getElementsByTagName("span")[0].innerText = "选项"+(j++)+":";
    }
    }
    }
    function add(i){
    var objchoice=document.createElement("label");
            objchoice.sx=i;
            objchoice.innerHTML="<br><span>选项"+i+":</span><input maxlength=\"50\" name=\"choices\" type=\"text\" /><span style=\"cursor: pointer;\" onclick=\"del("+i+")\">删除</span>"
            document.getElementById("polloption").appendChild(objchoice);
    }
    试试FF能用不...
      

  5.   

    var i=0;
    function add(){
    i++;
        var objchoice=document.createElement("label");
            objchoice.sx=i;
            objchoice.innerHTML="<br><span>选项"+i+":</span><input maxlength=\"50\" name=\"choices\" type=\"text\" /><span style=\"cursor: pointer;\" onclick=\"del("+i+")\">删除</span>"
            document.getElementById("polloption").appendChild(objchoice);
    }删除的时候不可以
      

  6.   

    添加一项删除一项?什么意思
    添加:
    document.getElementById("div1").appendChild(node)
    document.getElementById("div1").insertBefore(oldNode, newNode)
    删除:
    document.getElementById("div1").removeChild(node)
      

  7.   

    <html><script>
    function del(sx){
    var list = document.getElementsByTagName("label");
    for(var i=0,j=1;i<list.length;i++){
    var el = list[i];
    if(el.sx==sx){
    el.removeNode(true);
    i--;
    }
    else{
    el.getElementsByTagName("span")[0].innerText = "选项"+(j++)+":";
    }
    }
    }
    function add(i){
    var objchoice=document.createElement("label");
            objchoice.sx=i;
            objchoice.innerHTML="<br><span>选项"+i+":</span><input maxlength=\"50\" name=\"choices\" type=\"text\" /><span style=\"cursor: pointer;\" onclick=\"del("+i+")\">删除</span>"
            document.getElementById("polloption").appendChild(objchoice);
    }
    </script>
    <body onload=""> 
    <form id="polloption"></form>
    <script>add(1);
    add(2);
    add(3);
    add(4);</script>
    </div> 
    </body>
    </html>像这样
      

  8.   

    不过上面的代码就算能运行,但是也要注意哦.有BUG的哦.看你能看出来不.嘿嘿.
      

  9.   

    对 是removeChild 但是不知道怎么去删除
      

  10.   

    objchoice.sx=i;另外sx属性是什么?
      

  11.   

    var i=1;
    function add(){
    i++;
    var objchoice=document.createElement("label");
    objchoice.sx=i;
    objchoice.innerHTML="<br><span>选项"+i+":</span><input maxlength=\"50\" name=\"choices\" type=\"text\" /><span style=\"cursor: pointer;\" onclick=\"del("+i+")\">删除</span>"
    document.getElementById("polloption").appendChild(objchoice);
    }
      

  12.   

    sx是自定义属性...我用来定位删除的地方...
    i设为全局变量可能会有问题...
    del的循环里有新生成的i.
      

  13.   

    你把全局的i改一下.或者把for里面var i那段改成其他变量名试试.
      

  14.   

    在火狐里删除不了
    另外var list = document.getElementsByTagName("label");如果这页面还有label标签 那也不行哦
      

  15.   

    嗯.是哦.这是其中一BUG.呵呵
    我对FF不熟.不过好像也没触犯什么啊...你有试过把我9楼的代码COPY过去试么?
    我是在IE下测试好的...
      

  16.   

     
    function del(sx){
        var list = document.getElementsByTagName("label");
        for(var i=0,j=1;i<list.length;i++){
            var el = list[i];
            if(el.sx==sx){
                el.parentNode.removeChild(el);
                i--;
            }
            else{
                el.getElementsByTagName("span")[0].innerText = "选项"+(j++)+":";
            }
        }
    }
    try again~~
      

  17.   

    试下这样可以不,,,还有,好像多了个</label>
      

  18.   


    <button onClick="add()">add</button>
    <button onClick="del()">del</button>
    <button onClick="test()">test</button>
    <table id="t1" border="1"></table>
    <script language="JavaScript">
    var n=0;
    function add(){
    n++;
    t1.insertRow().insertCell().innerHTML = '<input type="radio" name="tt"><input name="test'+n+'"><button onclick="deleteRow(this)">delthis</button>';
    //t1.insertRow().insertCell().innerHTML = '<input type="radio" name="tt"><input name="test'+t1.rows.length+'">';
    }
    function del(){
    var c = document.getElementsByName('tt');
    for(var i=0; i<c.length; i++)
    if(c[i].checked)
    t1.deleteRow(i);
    }
    function deleteRow(obj){
    t1.deleteRow(obj.parentElement.parentElement.rowIndex);
    }
    function test(){
    for(i=0;i<t1.rows.length;i++) alert(t1.rows[i].cells[0].innerHTML);
    }
    </SCRIPT>
      

  19.   

    http://blog.csdn.net/chinmo/archive/2008/11/25/3370041.aspx
    是否类似这个?
      

  20.   

    http://topic.csdn.net/u/20090423/11/96f3f6c9-9001-4762-a461-61e065420423.html
    参考这些我回答的例子
      

  21.   

    http://shuaisweet.javaeye.com/blog/328251
      

  22.   

    也非常感谢大家参与 可能我开始没有说不使用TABLE 不过感谢大虾们