JavaScript null引用错误

JavaScript null reference error

本文关键字:错误 引用 null JavaScript      更新时间:2023-09-26

我有一段代码如下所示,它应该选择图像对象列表中的第一个对象。当它运行时,大约有一半的时间我会遇到错误:

TypeError: Cannot read property of mylist

我意识到这是因为它试图引用一个尚未被赋予引用对象的对象。基本上,页面会被加载,我想用JavaScript调用这个函数,但是如果这个代码在引用列表之前运行,它就会出错。这是我的代码片段:

window.onload = function () {
       try {
            var tnl = $find('mylist');

            tnl.selectFirstItem();
       }
       catch (exception) {
            alert(exception);
       }
}

tnl.selectFirstItem()

线是将错误抛出到catch块的线。

所以,我的问题是,有没有办法强迫它等待这个对象"tnl"被引用?

谢谢!

var tnl = $find('mylist');

应该是

var tnl = $('#mylist');

假设mylist是一个ID。

您使用的查找错误。

首先获取元素,然后使用它查找子元素。所以你可以这样做:

var container = $('.containerElement');
container.find('#mylist');

这是您想要的"循环"。但这仍然是错误的。如果$find('mylist');返回后未分配tnl,则以后不会分配。您可能有$find调用引发的错误。

window.onload = function () {
  try {
    var tnl = $find('mylist');
    var timer = setInterval(function() {
      if (tnl) {
        clearInterval(timer); 
        tnl.selectFirstItem();
      }
    }, 1000);
  } catch (exception) {
    alert(exception);
  }
}