代码如下:
var main = function() { select_title(); //执行完此程序之后页面会加载出新的 dom 元素 select_topic(); //该函数需要处理 select_title 函数加载的新元素,但是无法查询到,不知是什么问题 }
界面如下:
select_title 选择完马克思理论之后会加载出下面的选项
select_topic 选择下面的选项时,却找不到对应的元素
请问大佬们 有什么解决方案,还有无法这样处理的原因是什么
![]() | 1 muzuiget 2020-11-18 22:44:23 +08:00 定时检查,要不然在上一个函数里加回调。 |
2 tobecoder OP @muzuiget 定时检查意思是等待检查吗??我有试过加 setTimeout(),但是 select_topic 还是等待不到需要的元素 |
![]() | 3 dfourc 2020-11-18 23:00:57 +08:00 定时检查+1,或者 MutationObserver |
5 tobecoder OP @galikeoy 定时检查的前提是函数执行完之后元素肯定能加载出来,但是目前尝试好像并不能,有什么办法可以确定元素已经加载出来呢? |
![]() | 7 codespots 2020-11-18 23:54:54 +08:00 现在的小朋友已经不知道 DOM 操作了吗? |
8 GressJoe 2020-11-19 08:55:18 +08:00 select_title 是异步函数吧。。。 |
9 Exceptionluo 2020-11-19 09:03:52 +08:00 检查下动态添加的 DOM 绑定的事件有没有生效 |
![]() | 10 NCry 2020-11-19 09:23:36 +08:00 为啥不是在第一个方法的回调里面写第二个方法,两个方法一定要同层的话,就只能像楼上说的一样加轮询了。 |
![]() | 11 jiangnan01 2020-11-19 09:48:38 +08:00 DOMNodeInserted 监听了解一下,给 select_title 方法加载新 dom 元素的父级添加这个监听 |