<body>
<table border="0" cellspacing="0" cellpadding="0" id="myTable">
  <tr id="row1">
    <td>书名</td>
    <td>价格</td>
  </tr>
  <tr id="row2">
    <td>看得见风景的房间</td>
    <td class="center">&yen;30.00</td>
  </tr>
  <tr id="row3">
    <td>60个瞬间</td>
    <td class="center">&yen;32.00</td>
  </tr>
</table>
试问document.getElementById("myTable").appendChild(newRow)中的
document.getElementById("myTable")和
document.getElementById("row3").parentNode.insertBefore(newRow,fRow);中的
document.getElementById("row3").parentNode
之间的差异

解决方案 »

  1.   

    冒似没区别,都是表单上的myTable
      

  2.   

    问题是
    <script type="text/javascript">
    function addRow(){
    var fRow=document.getElementById("row3");
    var newRow=document.createElement("tr") ; //创建行节点
    var col1=document.createElement("td");   //创建单元格节点
    col1.innerHTML="幸福从天而降";           //为单元格添加文本
    var col2=document.createElement("td");
    col2.innerHTML="&yen;18.50";
    col2.setAttribute("align","center");
    newRow.appendChild(col1);              //把单元格添加到行节点中
    newRow.appendChild(col2);
    document.getElementById("row3").parentNode.insertBefore(newRow,fRow);
    方法中document.getElementById("row3").parentNode.insertBefore(newRow,fRow);
    是不能用document.getElementById("myTable").insertBefore(newRow,fRow);替代
      

  3.   

    应该不是同一个对象
    document.getElementById("myTable")获得的是table对象

    document.getElementById("row3").parentNode获得的是tbody对象
    你输出一下tagName看看
    alert(document.getElementById("myTable").tagName)

    alert(document.getElementById("row3").parentNode.tagName)
      

  4.   

    debug调试下 看看2种方式代表的对象是啥呗;
    有点小疑问,为什么你加列的时候用appendChild,加行的时候却不用appendChild了呢,呵呵