JavaScript null引用错误

时间:2014-10-10 19:44:50

标签: javascript c#

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

TypeError: Cannot read property of mylist

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

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


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

tnl.selectFirstItem()

line是将错误抛给catch块的那一行。

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

谢谢!

2 个答案:

答案 0 :(得分:2)

var tnl = $find('mylist');

应该是

var tnl = $('#mylist');

假设mylist是一个ID。

你正在使用发现错误。

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

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

答案 1 :(得分:1)

这是你要求的“循环”。但这仍然是错误的。如果在tnl返回后未分配$find('mylist');,则不会在以后分配$find。您可能会在window.onload = function () { try { var tnl = $find('mylist'); var timer = setInterval(function() { if (tnl) { clearInterval(timer); tnl.selectFirstItem(); } }, 1000); } catch (exception) { alert(exception); } } 来电时抛出错误。

{{1}}