如何在表JavaScript中获取选定的表格单元格?

时间:2012-11-29 11:23:41

标签: javascript javascript-events

如何在不使用jQuery的情况下在表JavaScript中获取选定的表格单元格? 使用jQuery决定非常简单,但是在没有jQuery的JavaScript中 - 我不知道如何。 我有桌子:

<table><tr onmouseover="toolnote(this)"><td><td><td></tr></table>

我需要绑定&#34; onmouseover&#34;事件到表中的每个单元格,但如果将此事件写入每个单元格,它将是非常不可读的。因此,我必须绑定&#34; onmouseover&#34;通过孩子标记并确定所选单元格。但我不知道如何让孩子指数。

JS代码:

function toolnote(el){
    var tt = el.getElementsByTagName('td')
    alert(tt[0].innerHTML);
}

在此示例事件中绑定到0索引。

有人帮帮我吗? 感谢:)

2 个答案:

答案 0 :(得分:1)

怀疑!

  1. 您有[{1}}作为函数名称,并且您在元素上调用toolnote()。这是一个错字吗?
  2. 您在声明中遗漏了tooltip()

  3. 简单改变:

    ;

    或者,如果您使用jQuery,那么它仍然更容易。

    function toolnote(el){
        var tt = el.getElementsByTagName('td'); // «--- You are missing a ;
        alert(tt[0].innerText);
    }
    

    你需要在每个单元格中,然后:

    function toolnote(el){
        alert($(el).children("td").first().text());
    }
    

    以这种方式制作JavaScript:

    <tr><td onmouseover="toolnote(this)"></td><td onmouseover="toolnote(this)"></td><td onmouseover="toolnote(this)"></td></tr>
    

    如果是 Firefox

    function toolnote(el){
        alert(this.innerText);
    }
    

    这就是原因,我说使用jQuery会更好,因为它会更好地处理这个跨浏览器脚本问题。


    单行:

    function toolnote(el){
        alert(this.textContent);
    }
    

答案 1 :(得分:0)

在tr调用onload =“ setUpToolnote(this);”

function toolnote(){
     alert(this.innerText);
}
function setUpToolnote(el){
 var tt=el.getElementsByTagName('td'); 
for(var i=0;i<tt.length;i++){
tt[i].addEventListener("mouseover", toolnote);
}
}