js 得到table中td的实际位置
<TABLE border=1>
<TR>
<TD>cc</TD>
<TD colSpan="2">bb</TD>
<td>zz</td>
</TR>
<TR>
<TD>dd</TD>
<TD>ee</TD>
<TD>hh</TD>
<td>oo</td>
</TR>
</TABLE>中间td 的值为zz的真实位置为 0,3 而不是0,2 望js高手帮帮忙!
<TABLE border=1>
<TR>
<TD>cc</TD>
<TD colSpan="2">bb</TD>
<td>zz</td>
</TR>
<TR>
<TD>dd</TD>
<TD>ee</TD>
<TD>hh</TD>
<td>oo</td>
</TR>
</TABLE>中间td 的值为zz的真实位置为 0,3 而不是0,2 望js高手帮帮忙!
解决方案 »
- 打开网站输入以下任意关键词搜索的代码
- jquery如何控制时间?
- 如何截取字符串;之前和之后的字符?
- 急 ~~!!!..消息弹出框功能 实例
- 如何在弹出的对话框访问父页面的函数
- 如何不让text保存输入的内容?
- 新手一个数组问题?
- 求一段完整代码:取title标记里的标题+QueryString传值某页面(.aspx)---谢谢!
- 特急,请高手帮小弟解决一个JAVA SCRIPT的麻烦问题的问题,顶者有分(100分相送)
- AngularJS $http 在本机能请求成功,执行success,并获取到json数据,但程序上传至服务器就获取不到了,执行error,是什么原因呢?
- 用iItemSelector怎样让左边显示为tree
- 怎样向js的事件里传两个参数
<head>
</head>
<body>
<TABLE border=1 id="t1">
<TR>
<TD>cc</TD>
<TD colSpan="2">bb</TD>
<td>zz</td>
</TR>
<TR>
<TD>dd</TD>
<TD>ee</TD>
<TD>hh</TD>
<td>oo</td>
</TR>
</TABLE>
<script type="text/javascript">
var tbody=document.getElementById('t1').tBodies[0];
var arr = tbody.rows;
for(var i = 0,len = arr.length;i<len;i++){
for(var j = 0,len_c = arr[i].cells.length;j<len_c;j++){
if(arr[i].cells[j].innerHTML == "zz"){
alert(i);
alert(j);
}
}
}
</script>
</body>
</html>
如果你需要0 3 把我的代码alert(j+1)就可以了
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
</style></head><body>
<TABLE border=1 id="tab">
<TR>
<TD>cc</TD>
<TD colSpan="2">bb</TD>
<td>zz</td>
</TR>
<TR>
<TD>dd</TD>
<TD>ee</TD>
<TD>hh</TD>
<td>oo</td>
</TR>
</TABLE>
<script>
var trs = document.getElementById('tab').getElementsByTagName('tr'),
len = trs.length,row = 0,col = 0;
for(var i = 0; i < len; i++){
var tds = trs[i].getElementsByTagName('td');
for(var j = 0; j < tds.length; j++){
if(tds[j].innerHTML == 'zz'){
row = i;
col = j + 1;
}
}
}
document.write(row,col);
</script></body>
</html>
你是不是想把colSpan也算里面?
<TR>
<TD>cc</TD>
<TD colSpan="2">bb</TD>
<td>zz</td>
</TR>
<TABLE border=1 id="t1">
<TR>
<TD>cc</TD>
<TD colSpan="2">bb</TD>
<td>zz</td>
</TR>
<TR>
<TD>dd</TD>
<TD>ee</TD>
<TD>hh</TD>
<td>oo</td>
</TR>
</TABLE>
<script type="text/javascript">
var t=document.getElementById('t1');
var cell = t.rows[0].getElementsByTagName("td");
var cellPosition = 0;
for (i = 0; i < cell.length; i++) {
cellPosition += cell[i].colSpan;
if (cell[i].innerHTML == "zz") {
alert(cellPosition)
}
}
</script>
function returnTrueTd(table,xPos,yPos)
{
//通过代码得到table中坐标为xPos,yPos的真实位置的Td
//也就是说将table的所有单元格最小化,没有跨行跨列这一说
//如下面的一张图片
}
而你想的是把那些本不存在的“被合并的单元格”当作实体对待。
解答是告诉你怎样做才对,未必就是问啥答啥。所以最好能说明必须这样做的理由,否则遵循规定才是正道。