1

如何在不使用 jQuery 的情况下在 Table JavaScript 中获取选定的表格单元格?用 jQuery 决定很简单,但是在没有 jQuery 的 JavaScript 中——我不知道怎么做。我有表:

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

我需要将“onmouseover”事件绑定到表中的每个单元格,但是如果将此事件写入每个单元格,它将非常不可读。因此,我必须将“onmouseover”绑定到通过子标记并在那里确定所选单元格。但我不知道如何获取子索引。

JS代码:

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

在此示例事件中绑定到 0-index。

有人帮我吗?

4

2 回答 2

1

怀疑!

  1. 您拥有toolnote()函数名称,并且正在调用tooltip()该元素。这是一个错字吗?
  2. ;在声明中缺少 a。

简单的改变:

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

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

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

您需要在每个单元格中使用它,然后:

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

以这种方式制作 JavaScript:

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

火狐的情况下:

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

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


在单行中:

function toolnote(el) {
    var e = el.getElementsByTagName("td");
    if (e.textContent)
        for (i = 0; i < e.length; i++) e[i].onclick = function () {
            alert(this.textContent); // Firefox
        }
    else
        for (i = 0; i < e.length; i++) e[i].onclick = function () {
            alert(this.innerText); // IE
        }
}
于 2012-11-29T11:26:09.997 回答
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);
}
}
于 2019-12-03T20:28:00.030 回答