Javascript表行<;tr>;onclick函数未执行

Javascript表行<;tr>;onclick函数未执行,javascript,dom,Javascript,Dom,我尝试单击每个表行,使其以颜色突出显示,我使用类名处理此问题,但onclick函数未执行,我尝试在onclick函数中使用print语句检查它是否正在输入,但它只是没有 以下是与该部分相关的JS代码: var rows = document.getElementsByTagName("tr"); for (var i = 0; i < rows.length; i++) { rows[i].onclick = function() {

我尝试单击每个表行,使其以颜色突出显示,我使用类名处理此问题,但onclick函数未执行,我尝试在onclick函数中使用print语句检查它是否正在输入,但它只是没有

以下是与该部分相关的JS代码:

var rows = document.getElementsByTagName("tr");
    for (var i = 0; i < rows.length; i++)
    {
        rows[i].onclick = function() {
                        this.className = "highlighted";
                        }
    }
var rows=document.getElementsByTagName(“tr”);
对于(变量i=0;i
有人知道为什么这个函数没有被输入吗


编辑:我意识到rows变量中的错误,并对其进行了更正,但函数仍然没有输入,而且我的JS控制台上没有错误

请使用
getElementsByTagName
而不是
getElementsById

试试这个

 var rows = document.getElementsByTagName("tr");
加分号

rows[i].onclick = function() {
                        this.className = "highlighted";
                        }; // here

它对我有用。。检查此处:

使用此代码。您的表行必须有一个值为“tr”的属性名才能执行此操作:

var rows = document.getElementsByName("tr");
for (var i = 0; i < rows.length; i++)
{
    rows[i].onclick = function() {
        this.className = "highlighted";
    }
}
var rows=document.getElementsByName(“tr”);
对于(变量i=0;i
var table=document.getElementById(“tableId”);
var rows=table.getElementsByTagName(“tr”);
对于(i=0;i

用这个它会有用的…

getElementsById应该是GetElementsByName哇我一定累了。。。我改变了这一点,我的Javascript控制台中仍然没有结果或错误;在您的onclick行中缺少
var table = document.getElementById("tableId");        
var rows = table.getElementsByTagName("tr");
for (i = 0; i < rows.length; i++) {
    var currentRow = table.rows[i]; 
    var createClickHandler = function(row) {
        return function() { 
            row.className = "highlighted";
        };
    };
    currentRow.onclick = createClickHandler(currentRow);
    }