代码如下:
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
galikeoy 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 元素的父级添加这个监听
|