【问题标题】:getElementByID return null (because not loaded yet)getElementByID 返回 null (因为尚未加载)
【发布时间】:2017-09-08 09:26:58
【问题描述】:

大家好,

我试图在 javascript 中通过它的 ID 获取一个元素,它返回给我null

实际上,当 DOM 是因为插件 Restrict Content Pro(目标元素的来源)在页面加载后发出请求时,这个元素并没有完全加载 (参见下面的参考图片).

我写的临时解决方案基本上是 getElementByID 函数上的 2 秒 setTimeOut,这有点……残酷。 ☺

如果插件加载时间超过 2 秒,它将无法工作。

所以,我的问题是:你知道有什么方法可以正确地做到这一点吗?

有点像

- while returns null try to get it - when returns element stop the loop

很高兴知道document.onloadwindow.onlaod 将不起作用,因为插件会在页面完全显示后加载元素。

提前致谢!

【问题讨论】:

  • 它的工作方式是否类似于“当 DOM 发生变化时,执行功能”?
  • 不知道,看不懂
  • 你正在使用的插件肯定有一个回调,当插件完成它时你可以使用它来触发一个函数?
  • (不要以为我真的坐下来等待解决方案,我现在正在阅读有关 MutationObserver 的文档。我之前没有听说过它,并且已经尝试了很多东西)

标签: javascript html dom load getelementbyid


【解决方案1】:

我的解决方案:

do {
   var getId = getElementByID();
   if(getID!=null){
    // to do 

   }
}
while (getId==null);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 2014-08-15
    相关资源
    最近更新 更多