如何访问<;td>';javascript函数中的id?

如何访问<;td>';javascript函数中的id?,javascript,html,html-table,Javascript,Html,Html Table,如何制作一个javascript函数来提醒的id?我试过: function test() { alert(document.documentElement.id); } 但这并不奏效 基本上,我使用一个表格在页面上创建一个网格,当我将鼠标移到表格的每个单元格上时,我希望函数告诉我单元格的id。我已经知道了MouseOver的工作原理和那些细节,但我似乎无法使该功能正常工作。您需要这样做: function test() { var idItem = document.getE

如何制作一个javascript函数来提醒
的id?我试过:

function test() {
  alert(document.documentElement.id); 
} 
但这并不奏效


基本上,我使用一个表格在页面上创建一个网格,当我将鼠标移到表格的每个单元格上时,我希望函数告诉我单元格的id。我已经知道了MouseOver的工作原理和那些细节,但我似乎无法使该功能正常工作。

您需要这样做:

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>

td鼠标盖
window.document.addEventListener('DOMContentLoaded',function(){
var cells=document.getElementsByTagName('td');
函数showId(evt){
警报(evt.target.id)
}
对于(变量i=0;i
您可以将一个侦听器放在桌面上:

<table onmouseover="showId(event);" ...>
function showId(evt) {
  var element = evt && (evt.target || evt.srcElement);

  if (element && element.tagName && element.tagName.toLowerCase() == 'td') {
    console.log(element.id);
  }
}
您可以动态地附加侦听器,但对于较旧的浏览器,您可能需要处理一些较小的浏览器怪癖。例如,在任何正在使用的浏览器中,以下功能都可以使用(该表具有附加侦听器的ID,但还有其他不需要ID的方式):


...
window.onload=函数(){
var table=document.getElementById('t0');
table.onmouseover=showId;
}
函数showId(evt){
evt=evt | | window.event;
var元素=evt&(evt.target | | evt.src元素);
if(element&&element.tagName&&element.tagName.toLowerCase()=='td'){
警报(element.id);
}
}

使用jQuery,
$('a').each(函数(){alert('id:'+$(this.attr('id'));})这将提醒ID设置为“ID”的整个元素。这似乎不能回答问题。问题是我事先不知道身份证。我有点希望这个函数是一个id函数。看到编辑过的答案,我举了一个例子,说明如何不用Jquery来实现它。您还可以在每个td标签中使用onmouseover=“name_function(this);”选项,非常感谢您提供了经过深思熟虑、有用的答案。我非常感激!
<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);
  }
}