TABLE的CELL内容

zeroko 2009-09-22 03:13:55
现在我的:
alert(table.rows[i].cells[j].innerHTML)输出为<input name="name1" value="....">

那么能不能直接输出其中的文本value:"...."呢?
我还需要修改这CELL的input name="name1"为"name2"

我参考过CELL下面的属性,是没有这样属性:
table.rows[i].cells[j].value
table.rows[i].cells[j].name

是不是少了一层对象?有什么解决方法吗?

...全文
108 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
BeenZ 2009-09-24
  • 打赏
  • 举报
回复
因为在tb中这个childNode有点问题
这样做就没问题了

<script>
window.onload=function(){
var tb=document.getElementById("tb");
var childnode=tb.rows[0].cells[2].getElementsByTagName("input");
for(var i=0;i<childnode.length;i++){
alert(childnode[i].value)
}
}
</script>
<table id="tb">
<tr>
<td> <input type="text" name="text1" value="value1"> </td>
<td> <input type="text" name="text2" value="value2"> </td>
<td> <input type="text" name="text3" value="value3">
<input type="text" name="text3" value="value4">
<input type="hidden" name="hidden2" value="value5">
<input type="hidden" name="hidden3" value="value6">
</td>
</tr>
</table>
zeroko 2009-09-24
  • 打赏
  • 举报
回复
谢谢上面两位的例子!学到很多
但对于一个单元格就是一个CELL的话.....
例如:
<table id="tb">
<tr>
<td><input type="text" name="text1" value="value1"></td>
<td><input type="text" name="text2" value="value2"></td>
<td><input type="text" name="text3" value="value3">
<input type="hidden" name="hidden1" value="value4">
<input type="hidden" name="hidden2" value="value5">
<input type="hidden" name="hidden3" value="value6">
</td>
</tr>
</table>
那么前三个文本框我就可以获取内容
tb.rows[0].cells[0].childNodes[0].value
tb.rows[0].cells[1].childNodes[0].value
tb.rows[0].cells[2].childNodes[0].value
但按你们的例子后三个hidden我这么获取,不行:
tb.rows[0].cells[2].childNodes[1].value //第1行第3个单元格第2个子对象
tb.rows[0].cells[2].childNodes[2].value
tb.rows[0].cells[2].childNodes[3].value

是我理解错,还是不支持hidden类型?

zeroko 2009-09-24
  • 打赏
  • 举报
回复
很好
谢谢~~~
yixianggao 2009-09-24
  • 打赏
  • 举报
回复
lz 有时间读读手册吧

Web 开发常用手册

JScript语言参考.rar
http://download.csdn.net/source/308916

DHTML参考手册.rar
http://download.csdn.net/source/308913

样式表中文手册.chm
http://download.csdn.net/source/304124
阿非 2009-09-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zeroko 的回复:]
谢谢上面两位的例子!学到很多
但对于一个单元格就是一个CELL的话.....
例如:
<table id="tb">
<tr>
<td> <input type="text" name="text1" value="value1"> </td>
<td> <input type="text" name="text2" value="value2"> </td>
<td> <input type="text" name="text3" value="value3">
<input type="hidden" name="hidden1" value="value4">
<input type="hidden" name="hidden2" value="value5">
<input type="hidden" name="hidden3" value="value6">
</td>
</tr>
</table>
那么前三个文本框我就可以获取内容
tb.rows[0].cells[0].childNodes[0].value
tb.rows[0].cells[1].childNodes[0].value
tb.rows[0].cells[2].childNodes[0].value
但按你们的例子后三个hidden我这么获取,不行:
tb.rows[0].cells[2].childNodes[1].value        //第1行第3个单元格第2个子对象
tb.rows[0].cells[2].childNodes[2].value
tb.rows[0].cells[2].childNodes[3].value

是我理解错,还是不支持hidden类型?


[/Quote]

你理解的没错 ~ 不过 因为在TD中元素 与元素之间是有内容的 ,也就是 text 与 hidden 中 是有内容的

所以 使用 childNodes[i] 的形式 获取 非第一个元素时 会出现偏差 (IE 下 可以正确获取第一个元素,FF不行)

这个时候 可以使用 children[i] 我在上面也写了。 ( IE & FF 都没问题)
阿非 2009-09-22
  • 打赏
  • 举报
回复
table.rows[i].cells[j].childNodes[0].value 
table.rows[i].cells[j].children[0].value
BeenZ 2009-09-22
  • 打赏
  • 举报
回复
修改名字

var inputs=table.rows[i].cells[j].getElementsByTagName("input");
inputs[0].name="name2"

BeenZ 2009-09-22
  • 打赏
  • 举报
回复

var inputs=table.rows[i].cells[j].getElementsByTagName("input");
alert(inputs[0].value)

61,114

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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