JS判断是否选中的是表格内当前选中的那一行

现有一表格,里面有很多行,当我点击第三行的时候,怎样判断当前选中的是表格内的第三行?大致的JS代码怎样写?... 现有一表格,里面有很多行,当我点击第三行的时候,怎样判断当前选中的是表格内的第三行?
大致的JS代码怎样写?
展开
 我来答
zhfto
推荐于2017-09-19 · TA获得超过563个赞
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:215万
展开全部

可以给tr添加onclick事件,然后,通过tr的DOM对象的rowIndex属性获取当前点击的行的索引,从而去判断你点击了那一行。

javascript实现的话麻烦点,代码如下:

<html>
  <head>
    <script language="javascript">
      function Window_Load(){
        var t = document.getElementById("table1");
        var rows = t.getElementsByTagName("tr");
        
        //给tr绑定click事件
        for(var i in rows){
          rows[i].onclick = rowClick;
        }
      }
      function rowClick(e){ 
        alert(this.rowIndex); //显示所点击的行的索引
      }
    </script>
  </head>
  <body onload="Window_Load();">
  <table id="table1" border="1" cellpadding=0 cellspacing=0 >
       <tr>
         <td> t1</td>
         <td> t1</td>
      </tr> <tr>
         <td> t1</td>
         <td> t1</td>
      </tr> <tr>
         <td> t1</td>
         <td> t1</td>
      </tr>
    </table>
  </body>
</html>


用jQuery实现要简单一些,代码如下:

<html>
  <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script language="javascript">
      $(document).ready(function(){ 
        $("#table1 > tbody > tr").click(function(){
          alert(this.rowIndex); 
        }); 
      });
    </script>
  </head>
  <body >
    <table id="table1" border="1" cellpadding=0 cellspacing=0 >
      <tr>
        <td> t1</td>
        <td> t1</td>
     </tr> <tr>
        <td> t1</td>
        <td> t1</td>
     </tr> <tr>
        <td> t1</td>
        <td> t1</td>
     </tr>
    </table>
  </body>
</html>
nbyh2012
2013-07-12 · TA获得超过3278个赞
知道小有建树答主
回答量:483
采纳率:100%
帮助的人:807万
展开全部
<table id="myid">
    <tr></tr>
    <tr></tr>
</table>
$('#myid>tr').click(function() {
    trs = $('#myid>tr');
    // $(this)[0]是当前点击的dom元素
    // 在返回的“数组”中查找当前元素的位置,第一个tr的位置是0
    alert(trs.indexOf($(this)[0]));
});

 

这里使用了jQuery库实现。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhou2003737
2013-07-12 · TA获得超过1427个赞
知道小有建树答主
回答量:1082
采纳率:77%
帮助的人:406万
展开全部
<script type="text/javascript" >
window.onload=function(){
document.getElementsByTagName("tr")[2].onmousedown=function(e){
alert("你点了第三个tr");
};
}

</script>
<body>
<table id="p" border="1px solid pink">
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
<tr><td>4</td></tr>
<tr><td>5</td></tr>
<tr><td>6</td></tr>
</table>
</body>
追问
能不能灵活一点?点第几行就提示第几行?
追答

点第几行提示第几行,需要转换思路,必须将事件加载到每个tr上面,下面是代码。


<script type="text/javascript" >
function test(obj){
        alert("你点了第"+(obj.rowIndex+1)+"个tr,tr内容为:"+obj.innerHTML);
}

</script>
<body>
<table id="p" border="1px solid pink">
    <tr onmousedown="test(this)"><td>1</td></tr>
    <tr onmousedown="test(this)"><td>2</td></tr>    
    <tr onmousedown="test(this)"><td>3</td></tr>
    <tr onmousedown="test(this)"><td>4</td></tr>
    <tr onmousedown="test(this)"><td>5</td></tr>
    <tr onmousedown="test(this)"><td>6</td></tr>
</table>    
</body>
zhfto同学的javascript实现的很好,至少比我写的这个要好。强烈推荐。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式