-3

如何制作一个提醒 a 的 id 的 javascript 函数<td>?我试过了:

function test() {
  alert(document.documentElement.id); 
} 

但这没有用。

基本上,我正在使用表格在页面上制作网格,当我将鼠标悬停在表格的每个单元格上时,我希望函数告诉我单元格的 id。我已经知道如何onMouseOver工作以及这些细节,但我似乎无法使该功能正常工作。

4

2 回答 2

1

您可以在桌子上放置一个侦听器:

<table onmouseover="showId(event);" ...>

然后在函数中显示鼠标悬停在表格上的任何 TD 元素的 ID:

function showId(evt) {
  var element = evt && (evt.target || evt.srcElement);

  if (element && element.tagName && element.tagName.toLowerCase() == 'td') {
    console.log(element.id);
  }
}

您可以动态附加侦听器,但您可能需要处理旧浏览器的一些次要浏览器怪癖。例如,以下将在任何正在使用的浏览器中工作(表有一个 ID 来附加侦听器,但还有其他不需要 ID 的方法):

<table id="t0">
  ...


window.onload = function() {
  var table = document.getElementById('t0');
  table.onmouseover = showId;
}

function showId(evt) {
  evt = evt || window.event;
  var element = evt && (evt.target || evt.srcElement);

  if (element && element.tagName && element.tagName.toLowerCase() == 'td') {
    alert(element.id);
  }
}
于 2013-10-03T23:45:12.877 回答
0

你需要做这样的事情:

function test() {
    var idItem = document.getElementById('id'); 
    alert(idItem);
}

test();

如果您知道 id 但我做了一个示例来显示每个单元格的 id

<!DOCTYPE html>
<html>
<head>
    <title>td mouseover</title>
    <script type="text/javascript">
    window.document.addEventListener('DOMContentLoaded',function(){
        var cells = document.getElementsByTagName('td');
        function showId(evt){
            alert(evt.target.id)

        }


        for(var i = 0; i < cells.length;i++){

            cells[i].addEventListener('mouseover',showId);
        }


    });


    </script>
</head>
<body>

    <table>

            <tr>
                <td id="cell1">Something 1</td>
                <td id="cell2">Something 2</td>
                <td id="cell3">Something 3</td>

            </tr>
    </table>
</body>
</html>
于 2013-10-03T22:38:51.677 回答