未捕获的TypeError:无法将属性'className'设置为null

时间:2011-07-18 13:30:09

标签: javascript

我正在使用js文件对表进行分页。当我尝试单击下一页按钮时发生错误。它只是显示错误,如“未捕获的TypeError:无法设置属性'className'为null”。

这是我的代码:

    var oldPageAnchor = document.getElementById('pg'+this.currentPage);
    oldPageAnchor.className = 'pg-normal';
    this.currentPage = pageNumber;
    var newPageAnchor = document.getElementById('pg'+this.currentPage);
    newPageAnchor.className = 'pg-selected'; 

2 个答案:

答案 0 :(得分:3)

它失败,因为没有ID为'pg'+this.currentPage的DOM元素。如果这是正常行为,那么您可以将className调用包装在if块中:

var oldPageAnchor = document.getElementById('pg'+this.currentPage);
if (oldPageAnchor) {
   oldPageAnchor.className = 'pg-normal';
}

否则,您需要发布更多代码,以向我们展示JavaScript中设置this.currentPage的位置,以及它所采用的HTML。

答案 1 :(得分:0)

oldPageAnchornewPageAnchor为null,因为找不到具有指定ID的元素。检查this.currentPage是否具有您想要的值以及您要查找的元素位于您所在的HTML页面上。