如何用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"/>
上面这些运行了后浏览器报"未知运行错误",望高人来指点下~~ 展开
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"/>
上面这些运行了后浏览器报"未知运行错误",望高人来指点下~~ 展开
6个回答
展开全部
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里面去改就可以了
这句改成
document.getElementsByTagName("tr")[0].innerHTML
这个[0]就表示第一个TR,[1]表示第二个。
因为getElementsByTagName返回的是一个数组
getElementById只是获取id属性值为"tr"的标签
getElementsByTagName可以获取标签名为"tr"的一个数组。
PS:注意getElementsByTagName中Element后面有个s
哦没有注意你的错误提示。因为innerHTML对table表格的兼容性很差。所以在table里尽量避免用这个。。。你在外面加个DIV。然后在DIV里面去改就可以了
展开全部
如果不想改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>
<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>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在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必须掌握的。
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必须掌握的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在用 Javascript 更改 HTML 代码的时候,经常会用到某个对象的 innerHTML。在读写标签内的代码或字符串时非常方便。
但 IE 对这个属性的支持不太好,经常容易报出 “未知的运行时错误”,而同样的操作,在 FireFox 和 Opera 下面就都没问题。
到百度和 Google 查了下,发现是 IE 浏览器下,对 <table>、<tbody> 和 <tr> 等标签的 innerHTML 属性进行写操作时会报错。
应该是 IE 处理不当造成的。
目前没有很好的解决办法,只能采取改变 HTML 结构的方式,也就是说,不要对 <table> 等标签应用这个属性,改为对 <div>、<span> 和 <p> 等标签,就没问题了。
但 IE 对这个属性的支持不太好,经常容易报出 “未知的运行时错误”,而同样的操作,在 FireFox 和 Opera 下面就都没问题。
到百度和 Google 查了下,发现是 IE 浏览器下,对 <table>、<tbody> 和 <tr> 等标签的 innerHTML 属性进行写操作时会报错。
应该是 IE 处理不当造成的。
目前没有很好的解决办法,只能采取改变 HTML 结构的方式,也就是说,不要对 <table> 等标签应用这个属性,改为对 <div>、<span> 和 <p> 等标签,就没问题了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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>这样的内容,
}
这句话的意思是 在<tr></tr>标签里面放置<td id="td1">a</td><td>b</td><td>c</td><td>d</td>这样的内容,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询