Javascript表行onclick函数没有执行

时间:2013-05-07 07:35:09

标签: javascript dom

我试图点击每个表格行以一种颜色突出显示我用类名处理它但是onclick函数没有执行,我在onclick函数中尝试了print语句来检查它是否是进入,但它不是。

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

var rows = document.getElementsByTagName("tr");
    for (var i = 0; i < rows.length; i++)
    {
        rows[i].onclick = function() {
                        this.className = "highlighted";
                        }
    }

任何人都知道为什么没有输入此功能?

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

4 个答案:

答案 0 :(得分:0)

使用getElementsByTagName代替getElementsById

答案 1 :(得分:0)

试试这个

 var rows = document.getElementsByTagName("tr");

添加分号

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

它对我有用..点击这里:JS Fiddle

答案 2 :(得分:0)

使用此代码。您的表行必须具有值为“tr”的属性名称才能使其工作:

var rows = document.getElementsByName("tr");
for (var i = 0; i < rows.length; i++)
{
    rows[i].onclick = function() {
        this.className = "highlighted";
    }
}

答案 3 :(得分:0)

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);
    }

使用它会起作用....