2017-12-02 192 views
0

我已經使用js創建了一個表。我爲幾個單元格給出了類名。我想稍後訪問這些單元並刪除類名。但我無法做到。這是我如何創建動態表:無法訪問動態創建表中的類

for (var j = 0; j < TotalNumOfPlayers; j++) 
{ 
    // Create a <td> element and a text node, make the text 
    // node the contents of the <td>, and put the <td> at 
    // the end of the table row 
    var cell = document.createElement("td"); 
    if (header) 
    { 
    var cellText = document.createTextNode(nameOfPlayers[j]); 
    } 
    else 
    { 
    var cellText = document.createTextNode(oldScore[j]);  
    cell.setAttribute("class", "lastrow"); 
    } 
    cell.appendChild(cellText); 
    row.appendChild(cell); 
} 

這裏是我試圖訪問細胞,去除類:

document.querySelectorAll(".lastrow").classList.remove("lastrow"); 

它引發以下錯誤:

Cannot read property 'remove' of undefined at :1:48

我隱約明白,它正在看父母的層面,並沒有看到任何班級,但應該看看td。我是否正確?如果是的話,我該如何做到這一點?

+1

喜* querySelectorAll *返回一個數組,你必須在這之後把指數與您選擇的代碼看起來像querySelectorAll(「 LASTROW」)[0] –

+0

改爲'cell.setAttribute(「class」,「lastrow」);'最好使用'cell.classList.add('lastrow')' –

+0

哇..謝謝穆罕默德。這解決了它。 –

回答

0

你應該從所有元素刪除類環路

let lastrows = document.querySelectorAll('.lastrow'); 
for (let i=lastrows.length;i--;){ 
    lastrows[i].classList.remove('lastrow'); 
}