js点击一个表格里的某个元素,获取该对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js点击一个表格里的某个元素,获取该对象相关的知识,希望对你有一定的参考价值。

比如我有一个表格
<table class="myTable" border="1">
<tr>
<td><a href="#" class="c">显示</a></td>
<td>row 1, cell 2</td>
</tr>
<tr>
<td><a href="#" class="c">显示</a></td>
<td>row 2, cell 2</td>
</tr>
</table>
我想单击某一行的“显示”链接,可以得到该链接对象。
方法是:先获取该表格对象
var tab = document.getElementById("myTable");
然后怎么写?

参考技术A

1.<a>标签直接加id,然后用getElementById


2.用onclick事件配合this直接传递给相关函数

<td><a href="#" class="c" onclick="func(this)">显示</a></td>

追问

我想说的是,我用ajax的dwr技术,修改后台数据库了之后,有个回调函数,在回调函数里,我要获取之前点击过的a标签对象。是这个意思。

参考技术B window.onload = function() 
    var tab = document.getElementById('myTable');
    
    tab.onclick = function(e) 
        var target = e.srcElement ? e.srcElement : e.target;
        
        if (target.nodeName.toUpperCase === 'A') 
            alert(this.href);
            return false;
        
    

追问

Uncaught TypeError: Cannot set property 'onclick' of null

追答

editor需要是一个节点对象:
var editor = document.getElementById('editor');

追问

没反应啊。不行的。

追答

好吧,我的错。。。我看错问题了:

window.onload = function() 
    var tab = document.getElementsByTagName('table')[0];
     
    tab.onclick = function(e) 
        var target = e.srcElement ? e.srcElement : e.target;
         
        if (target.nodeName.toUpperCase() === 'A') 
            alert(this.href);
            return false;
        
    

参考技术C 在table里添加一个onclick事件,把event参数传进去,然后在js代码中这样写:function f_name(e)
var e1=e.srcElement || e.target;

这样就获得了事件源了,而且兼容各大浏览器追问

在table中增加onclick="f_name(this)"?

以上是关于js点击一个表格里的某个元素,获取该对象的主要内容,如果未能解决你的问题,请参考以下文章

js怎么获取表格中指定行某一列的值

js里的表格数组某个key去重

iframe 里的表格被缩放的问题

vue如何获取表格某行数据

怎么照片里的表格提取成电子表格

js获取表格单元格中的元素