(一)var input = document.createElement("<input type = \"button\" value=\"del\" onclick=\"delRow(this)\">");
这段代码改成
(二)input = document.createElement("<input type = \"button\" value=\"del\">");
input.setAttribute("onclick", delRow(this));在delRow这个方法内用代码二实现时:
function delRow(objBtn)
{
alert(objBtn); ///1 这地方输出OBJECT
var index = objBtn.parentElement.parentElement.rowIndex;/////2
}
注释2处报错,parentElement.parentElement的objec没发现呢,
而用代码(一)实现是没有错的。
谢谢各位关注

解决方案 »

  1.   

    var index = window.event.srcElement.parentElement.parentElement.rowIndex;
    试试 >_<
      

  2.   

    偶,基本功不扎实,搞晕了,但后来发现点东西:
    你上面的代码又是创建又是拼串的,一也不行啊,根本就没执行那个function();
    参考下这个:
    <div   id="hiddenForm"></div>   
      <input   type=button   value="Show   Form"   onclick="showForm();">   
      <script>   
      function   showForm()   
      {   
          var   s=   ""   +   
      '<form   action="http://www.cnn.com"   method="post">'   +   '\n'+   
      '<input   type="text"   name="name"   value="1"><br>'   +   '\n'   +   
      '<input   type="checkbox"   name="chk"   value="1">Check   boc'   +   '\n'   +   
      '<input   type="submit">'+'\n'+   
      '</form>';   
        hiddenForm.innerHTML   =s;   
      }   
      </script>
      

  3.   

    input.setAttribute("onclick", delRow(this)); 
     这里的this 不是指的你创建的input 。 要看在你在什么地方, 如果是有页面里, 那this 就是window
    对于onclick 可以用event.srcElement(IE) 来代替传入的obj
      

  4.   

    FF下是:event.target兼容 event.target || window.event.srcElement
      

  5.   

    (二)input = document.createElement(" <input type = \"button\" value=\"del\">"); 
    input.setAttribute("onclick", delRow(this)); 
    就是说那我想把input本身单击事件响应时传过去自己,就只能用代码(一)了吗?我现在的理解就是this传过去的是当前WINDOWS
      

  6.   


    var index = window.event.srcElement.parentElement.parentElement.rowIndex; 
    这样可行!
    试试看!
    ^_*