首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getElementById()返回现有对象的空值

getElementById()返回现有对象的空值
EN

Stack Overflow用户
提问于 2014-05-06 17:25:41
回答 1查看 114关注 0票数 0

在绘制数据驱动网格的页面底部附近,网格包有以下代码.

代码语言:javascript
复制
<script type="text/javascript">
    (function(window, document, undefined) {
      "use strict";
      var gridColSortTypes = 
          ["string", "string", "number", "number", "number", "number", "number", "number", "number", "number"],
          gridColAlign = [];
      var onColumnSort = function( newIndexOrder, columnIndex, lastColumnIndex ) {
        var doc = document;
        var offset = (this.options.allowSelections && this.options.showSelectionColumn)?1:0;
        if( columnIndex !== lastColumnIndex ) {
          if( lastColumnIndex > -1 ) {
            doc.getElementById("stockHdr" + (lastColumnIndex-offset)).parentNode.style.backgroundColor = "";
          }
          doc.getElementById("stockHdr" + (columnIndex-offset)).parentNode.style.backgroundColor = "#f7f7f7";
        }
      };
      ...
})(this, this.document);

在调查指定的排序列颜色更改失败的原因时,我发现尽管getElementById()查询的对象存在并在页面中运行,但是在这个函数中,这些getElementById()调用返回空。实际上,从这个函数发出的所有getElementById()调用都返回Null。

为什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-06 17:34:17

我将假设当您试图访问DOM内容时,DOM内容还没有准备好/可访问,请尝试用window.onload包装代码

代码语言:javascript
复制
window.onload = function(){
  (function(window, doc, undefined) {
      "use strict";
      var gridColSortTypes = 
          ["string", "string", "number", "number", "number", "number", "number", "number", "number", "number"],
          gridColAlign = [];
      var onColumnSort = function( newIndexOrder, columnIndex, lastColumnIndex ) {
        var offset = (this.options.allowSelections && this.options.showSelectionColumn)?1:0;
        if( columnIndex !== lastColumnIndex ) {
          if( lastColumnIndex > -1 ) {
            doc.getElementById("stockHdr" + (lastColumnIndex-offset)).parentNode.style.backgroundColor = "";
          }
          doc.getElementById("stockHdr" + (columnIndex-offset)).parentNode.style.backgroundColor = "#f7f7f7";
        }
      };
      ...
   })(this, this.document);
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23501125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档