0

我使用 PrototypeJS,我需要检查 a 的内容是否div为空。但是下面的代码给出了一个错误。div最初不存在。它是通过 AJAX 函数添加的。我怎样才能检查它?

if($('lesson-'+tab).innerHTML() == null)
  {
     //do the job
  }
4

2 回答 2

1

您需要等到 Ajax 调用之后检查该 DIV 的内容:

new Ajax.Request(url, {
  method: 'get',
  onSuccess: function(transport) {
    if($('lesson-'+tab).innerHTML() == null)
    {
     //do the job
    }
  }
});
于 2012-05-31T12:59:56.603 回答
1

innerHTML是 HTMLElement 的字符串属性,而不是 afunction所以调用它时会出错。因为它是一个字符串,所以您不检查 null 而是检查字符串是否为空。此外,您可能需要检查该元素是否存在,以防止$函数结果为null. 而且,正如 John Conde 已经提到的,您需要在 AJAX 调用完成后进行检查:

new Ajax.Request(url, {
  onComplete: function(transport) {
    var lessonTab = $('lesson-' + tab)
    if (!lessonTab || lessonTab.innerHTML.length === 0) {
      // do stuff
    }
  }
})
于 2012-05-31T13:11:37.867 回答