求解释

taoge1992_02 2012-12-20 08:48:11
<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">¥30.00</td>
</tr>
<tr id="row3">
<td>60个瞬间</td>
<td class="center">¥32.00</td>
</tr>
</table>
试问document.getElementById("myTable").appendChild(newRow)中的
document.getElementById("myTable")和
document.getElementById("row3").parentNode.insertBefore(newRow,fRow);中的
document.getElementById("row3").parentNode
之间的差异
...全文
142 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
鸡肋啊 2012-12-20
  • 打赏
  • 举报
回复
debug调试下 看看2种方式代表的对象是啥呗; 有点小疑问,为什么你加列的时候用appendChild,加行的时候却不用appendChild了呢,呵呵
似梦飞花 2012-12-20
  • 打赏
  • 举报
回复
应该不是同一个对象 document.getElementById("myTable")获得的是table对象 而 document.getElementById("row3").parentNode获得的是tbody对象 你输出一下tagName看看 alert(document.getElementById("myTable").tagName) 和 alert(document.getElementById("row3").parentNode.tagName)
taoge1992_02 2012-12-20
  • 打赏
  • 举报
回复
问题是
<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="¥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);替代
诗之 2012-12-20
  • 打赏
  • 举报
回复
我不是很懂,不过慢慢看看你们的代码,加油
笨笨熊三号 2012-12-20
  • 打赏
  • 举报
回复
冒似没区别,都是表单上的myTable

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧