一个叫tb的table,有n行m列,每行里面有m个td,现在点击了一个id叫stid的格子,能不能求出这是第几列第几行?_html/css_WEB-ITnose
一个叫tb的table,有n行m列,每行里面有m个td,现在点击了一个id叫stid的td格子,能不能求出这是第几列第几行? 或者说能不能求出stid所在行的行头(第一个td的内容)及所在列的列头??
回复讨论(解决方案)
我用S('#stid').coloumn.header试了不行
每个td中加个隐藏域应该可以解决问题,就是感觉方法不是很好,不知js中有没有现成的东西。
貌似没有现成的方法取,你可以在拼table的时候给td个标识来取
可以,$("#stid").parent().index(),这是id叫stid的td所在行的索引值,可以得到第几行,
同样的,$("#stid").index()可以的到这个td列的索引值,从而得到第几列
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head> <title></title> <style type="text/css"> td { height: 30px; width: 50px; text-align: center; border: 1px solid #333333; } </style></head><body> <div> <table id="tb"> <tr> <td> 1 </td> <td> 2 </td> <td> 3 </td> <td> 4 </td> <td> 5 </td> <td> 6 </td> <td> 7 </td> </tr> <tr> <td> 8 </td> <td> 9 </td> <td> 10 </td> <td> 11 </td> <td> 12 </td> <td> 13 </td> <td> 14 </td> </tr> <tr> <td> 15 </td> <td> 16 </td> <td> 17 </td> <td> 18 </td> <td> 19 </td> <td> 20 </td> <td> 21 </td> </tr> <tr> <td> 22 </td> <td> 23 </td> <td> 24 </td> <td> 25 </td> <td> 26 </td> <td> 27 </td> <td> 28 </td> </tr> <tr> <td> 29 </td> <td> 30 </td> <td> 31 </td> <td> 32 </td> <td> 33 </td> <td> 34 </td> <td> 35 </td> </tr> <tr> <td> 36 </td> <td> 37 </td> <td> 38 </td> <td> 39 </td> <td> 40 </td> <td> 41 </td> <td> 42 </td> </tr> </table> </div></body></html><script type="text/javascript"> var Table = document.getElementById("tb"); for (var i = 0; i < Table.rows.length; i++) { for (var j = 0; j < Table.rows[i].cells.length; j++) { Table.rows[i].cells[j].onclick = function () { var Table = document.getElementById("tb"); for (var i = 0; i < Table.rows.length; i++) { for (var j = 0; j < Table.rows[i].cells.length; j++) { if (this.innerText == Table.rows[i].cells[j].innerText) { alert(" 该TD的值为:" + this.innerText + " 行数为:" + i + " 列数为" + j + " 第一行的值为:" + Table.rows[i].cells[0].innerText); } } } } } }</script>
希望能帮助楼主,纯JS的代码
JavaScript code?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990……
谢谢,好像有问题,点击值undefined,并且循环了列
你用的什么浏览器啊,我用IE8/谷歌都没问题
你用的什么浏览器啊,我用IE8/谷歌都没问题
360
你用的什么浏览器啊,我用IE8/谷歌都没问题
错了,是360没问题,火狐是undefined,郁闷,这么不兼容
<script type="text/javascript"> var bl = true; if (isFirefox = navigator.userAgent.indexOf("Firefox") > 0) { bl = false; } var Table = document.getElementById("tb"); for (var i = 0; i < Table.rows.length; i++) { for (var j = 0; j < Table.rows[i].cells.length; j++) { Table.rows[i].cells[j].onclick = function () { var Table = document.getElementById("tb"); for (var i = 0; i < Table.rows.length; i++) { for (var j = 0; j < Table.rows[i].cells.length; j++) { if (bl) { if (this.innerText == Table.rows[i].cells[j].innerText) { alert(" 该TD的值为:" + this.innerText + " 行数为:" + i + " 列数为" + j + " 第一行的值为:" + Table.rows[i].cells[0].innerText); } } else { var CText = innerText(this); var TableText = innerText(Table.rows[i].cells[j]); if (CText == TableText) { alert(" 该TD的值为:" + CText + " 行数为:" + i + " 列数为" + j + " 第一行的值为:" + innerText(Table.rows[i].cells[0])); } } } } } } } function innerText(node) {//返回的是数组类型 var innerTextArr = []; var root = node; var getChild = function (node) { var childs = node.childNodes; for (var i = 0; i < childs.length; i++) if (childs[i].nodeType == 3) innerTextArr.push(childs[i].nodeValue); else if (childs[i].nodeType == 1) { getChild(childs[i]); } } getChild(root); return innerTextArr[0].replace("\n", "").replace(/[ ]/g, "").replace("\n", ""); }</script>
搞定兼容性了IE8/火狐/谷歌都有用你再试试

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

HTML适合初学者学习,因为它简单易学且能快速看到成果。1)HTML的学习曲线平缓,易于上手。2)只需掌握基本标签即可开始创建网页。3)灵活性高,可与CSS和JavaScript结合使用。4)丰富的学习资源和现代工具支持学习过程。

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

GiteePages静态网站部署失败:404错误排查与解决在使用Gitee...

网页批注功能的Y轴位置自适应算法本文将探讨如何实现类似Word文档的批注功能,特别是如何处理批注之间的间�...

HTML、CSS和JavaScript是Web开发的三大支柱。1.HTML定义网页结构,使用标签如、等。2.CSS控制网页样式,使用选择器和属性如color、font-size等。3.JavaScript实现动态效果和交互,通过事件监听和DOM操作。

实现图片点击后周围图片散开并放大效果许多网页设计中,需要实现一种交互效果:点击某张图片,使其周围的...
