簡體   English   中英

Javascript表行 <tr> onclick函數未執行

[英]Javascript table row <tr> onclick function not executing

我試圖單擊每個表行以將其突出顯示為一種顏色,並使用類名進行處理,但是onclick函數未執行,我嘗試在onclick函數中使用print語句檢查是否正在輸入,但它是只是不。

這是與此部分相關的JS代碼:

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

有人知道為什么沒有輸入此功能嗎?

編輯:我意識到行變量中的錯誤,我已將其更正,但該功能仍未輸入,並且我的JS控制台上沒有錯誤

使用getElementsByTagName代替getElementsById

嘗試這個

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

添加分號

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

它對我有用 ..檢查這里: JS小提琴

使用此代碼。 您的表行必須具有值為“ tr”的屬性名稱才能完成此工作:

var rows = document.getElementsByName("tr");
for (var i = 0; i < rows.length; i++)
{
    rows[i].onclick = function() {
        this.className = "highlighted";
    }
}
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);
    }

使用它會起作用....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM