如何用javascript更改table里tr的内容 50

functiontest2(){document.getElementById("tr").innerHTML='<tdid="td1">a</td><td>b</td>... function test2(){
document.getElementById("tr").innerHTML='<td id="td1">a</td><td>b</td><td>c</td><td>d</td>';
}
<table id="table">
<tr id="tr">
<td id="td1">1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
</table>
<input type="button" onclick="test2()" value="wwww"/>

上面这些运行了后浏览器报"未知运行错误",望高人来指点下~~
展开
 我来答
myluluy
2009-08-17 · TA获得超过518个赞
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:284万
展开全部
document.getElementById("tr").innerHTML
这句改成
document.getElementsByTagName("tr")[0].innerHTML
这个[0]就表示第一个TR,[1]表示第二个。
因为getElementsByTagName返回的是一个数组

getElementById只是获取id属性值为"tr"的标签
getElementsByTagName可以获取标签名为"tr"的一个数组。

PS:注意getElementsByTagName中Element后面有个s

哦没有注意你的错误提示。因为innerHTML对table表格的兼容性很差。所以在table里尽量避免用这个。。。你在外面加个DIV。然后在DIV里面去改就可以了
百度网友ab6b59486
2009-08-17 · 超过18用户采纳过TA的回答
知道答主
回答量:44
采纳率:100%
帮助的人:0
展开全部
如果不想改html的话,就用jquery吧

<html>
<head>
<script>
function test2(){
$("#table #tr").html('<td id="td1">a</td><td>b</td><td>c</td><td>d</td>');
}

</script>
<script language="javascript" type="text/javascript" src="jquery/jquery.js"></script>
<style>

</style>
</head>
<body>
<table id="table">
<tr id="tr">
<td id="td1">1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
</table>
<input type="button" onclick="test2()" value="wwww"/>

</body>
</html>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jessiejacky
2009-08-17 · TA获得超过227个赞
知道答主
回答量:107
采纳率:0%
帮助的人:0
展开全部
在IE中,innerHTML貌似只支持文本节点的。你可以用W3C DOM标准。
var tr = document.getElementById("tr");
var td1 = document.createElement("td");
td1.setAttribute("id","td1");
tr.appendChild(td1);
td1.value = 1;
var td2 = document.createElement("td");
tr.appendChild(td2);
td2.value = 2;
......
稍微有点麻烦,不过dom是深入学习javascript必须掌握的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c4249ef
2009-08-17 · TA获得超过4867个赞
知道大有可为答主
回答量:1855
采纳率:0%
帮助的人:3222万
展开全部
在用 Javascript 更改 HTML 代码的时候,经常会用到某个对象的 innerHTML。在读写标签内的代码或字符串时非常方便。

但 IE 对这个属性的支持不太好,经常容易报出 “未知的运行时错误”,而同样的操作,在 FireFox 和 Opera 下面就都没问题。

到百度和 Google 查了下,发现是 IE 浏览器下,对 <table>、<tbody> 和 <tr> 等标签的 innerHTML 属性进行写操作时会报错。

应该是 IE 处理不当造成的。

目前没有很好的解决办法,只能采取改变 HTML 结构的方式,也就是说,不要对 <table> 等标签应用这个属性,改为对 <div>、<span> 和 <p> 等标签,就没问题了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pakiren
2009-08-17 · TA获得超过262个赞
知道小有建树答主
回答量:558
采纳率:0%
帮助的人:427万
展开全部
document.getElementById("tr").innerHTML='<td id="td1">a</td><td>b</td><td>c</td><td>d</td>';
}

这句话的意思是 在<tr></tr>标签里面放置<td id="td1">a</td><td>b</td><td>c</td><td>d</td>这样的内容,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式