怎样在表格项中动态得到自己的行号与列号?

guliang 2002-10-16 10:20:15
例子见下,some code here 就是希望能动态得到行号与列号的代码。
注意,因为要动态插入行的,所以,不可以传参数给myFunction。
<SCRIPT LANGUAGE="JavaScript">
function myFunction()
{
var lineNumber,cellNumber;
//some code here
//.............
document.write("l:"+lineNumber+"/c:"+cellNumber);
}
</SCRIPT>
<TABLE id="tb1">
<TR>
<TD><SCRIPT LANGUAGE="JavaScript">myFunction()</SCRIPT></TD>
<TD><SCRIPT LANGUAGE="JavaScript">myFunction()</SCRIPT></TD>
</TR>
<TR>
<TD><SCRIPT LANGUAGE="JavaScript">myFunction()</SCRIPT></TD>
<TD><SCRIPT LANGUAGE="JavaScript">myFunction()</SCRIPT></TD>
</TR>
</TABLE>
...全文
166 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaobeibei 2002-10-17
  • 打赏
  • 举报
回复
GZ
希默软件 2002-10-16
  • 打赏
  • 举报
回复
<script>
document.onclick=function(){
if(event.srcElement.tagName=="TD")
alert("Cell:"+event.srcElement.cellIndex+"\nRow:"+event.srcElement.parentElement.rowIndex)
}
</script>
<table border=1>
<tr><td>123123</td><td>123123</td></tr>
<tr><td>123123</td><td>123123</td></tr>
<tr><td>123123</td><td>123123</td></tr>
</table>
guliang 2002-10-16
  • 打赏
  • 举报
回复
我是不希望用事件响应来做的,用事件响应的话就很容易得到td的obj了。我是希望通过类似于tdObj.setExpresstion("innerHTML","myFunction()");的方法,实现表格项的内容自动调整(比如增加删除行)。
我想应该可以实现,自己来得到所在表格的位置的方法的吧,而不是通过传递参数。
方工 2002-10-16
  • 打赏
  • 举报
回复
如果表格较大,可以参考下面的写法:
<table border=1 onclick="getCell()">
<tr>
<td>row:0 col:0</td><td>row:0 col:1</td></tr>
<td>row:1 col:0</td><td>row:1 col:1</td></tr>
<td>row:2 col:0</td><td>row:2 col:1</td></tr>
</table>
<script language="JavaScript">
function getCell(){
var e=event.srcElement;
if(e.tagName=="TD"){
alert("Row:" + e.parentElement.rowIndex + " Col:" + e.cellIndex);
}
}
</script>
希默软件 2002-10-16
  • 打赏
  • 举报
回复
写简单一点吧

<script>
function get(obj){
alert("Cell:"+obj.cellIndex+"\nRow:"+obj.parentElement.rowIndex)
}
</script>
<table border=1>
<tr><td onclick=get(this)>123123</td><td onclick=get(this)>123123</td></tr>
<tr><td onclick=get(this)>123123</td><td onclick=get(this)>123123</td></tr>
<tr><td onclick=get(this)>123123</td><td onclick=get(this)>123123</td></tr>
</table>
希默软件 2002-10-16
  • 打赏
  • 举报
回复
<table border=1>
<tr><td onclick=alert("Cell:"+this.cellIndex);alert("Row:"+this.parentElement.rowIndex)>123123</td><td onclick=alert("Cell:"+this.cellIndex);alert("Row:"+this.parentElement.rowIndex)>123123</td></tr>
<tr><td onclick=alert("Cell:"+this.cellIndex);alert("Row:"+this.parentElement.rowIndex)>123123</td><td onclick=alert("Cell:"+this.cellIndex);alert("Row:"+this.parentElement.rowIndex)>123123</td></tr>
<tr><td onclick=alert("Cell:"+this.cellIndex);alert("Row:"+this.parentElement.rowIndex)>123123</td><td onclick=alert("Cell:"+this.cellIndex);alert("Row:"+this.parentElement.rowIndex)>123123</td></tr>
</table>
希默软件 2002-10-16
  • 打赏
  • 举报
回复
<table border=1>
<tr><td></td><td></td></tr>
<tr><td></td><td></td></tr>
<tr><td></td><td></td></tr>
</table>
<script>
var thetd=document.all.tags("TD")
for(i=0;i<thetd.length;i++)
thetd[i].innerHTML="Cell:"+thetd[i].cellIndex+"<br>Row:"+thetd[i].parentElement.rowIndex
</script>
qiushuiwuhen 2002-10-16
  • 打赏
  • 举报
回复
或htc的oncontentready
qiushuiwuhen 2002-10-16
  • 打赏
  • 举报
回复
<style>
td{qswh:expression(this.innerText='r='+this.parentElement.rowIndex+' ;l='+this.cellIndex)}
</style>
<TABLE id="tb1" border>
<TR>
<TD></TD>
<TD></TD>
</TR>
<TR>
<TD></TD>
<TD></TD>
</TR>
</TABLE>
guliang 2002-10-16
  • 打赏
  • 举报
回复
楼上的还是用了事件,按照楼上的做法,如果不点表格项的话,就不能得到行列号了。

87,996

社区成员

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

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