V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tobecoder
V2EX  ›  程序员

执行 js 脚本,无法查询到页面新加载出的元素

  •  
  •   tobecoder · 2020 年 11 月 18 日 · 2130 次点击
    这是一个创建于 1888 天前的主题,其中的信息可能已经有所发展或是发生改变。

    代码如下:

    var main = function() {
        select_title();     //执行完此程序之后页面会加载出新的 dom 元素
        select_topic();   //该函数需要处理 select_title 函数加载的新元素,但是无法查询到,不知是什么问题
    }
    

    界面如下:

    a6.jpg

    select_title 选择完马克思理论之后会加载出下面的选项

    select_topic 选择下面的选项时,却找不到对应的元素

    请问大佬们 有什么解决方案,还有无法这样处理的原因是什么

    12 条回复    2020-11-21 00:50:10 +08:00
    muzuiget
        1
    muzuiget  
       2020 年 11 月 18 日
    定时检查,要不然在上一个函数里加回调。
    tobecoder
        2
    tobecoder  
    OP
       2020 年 11 月 18 日
    @muzuiget 定时检查意思是等待检查吗??我有试过加 setTimeout(),但是 select_topic 还是等待不到需要的元素
    dfourc
        3
    dfourc  
       2020 年 11 月 18 日
    定时检查+1,或者 MutationObserver
    dfourc
        4
    dfourc  
       2020 年 11 月 18 日
    @tobecoder #2 定时是 setinteval(fn,0),判断有 dom 了就停止
    tobecoder
        5
    tobecoder  
    OP
       2020 年 11 月 18 日
    @galikeoy 定时检查的前提是函数执行完之后元素肯定能加载出来,但是目前尝试好像并不能,有什么办法可以确定元素已经加载出来呢?
    dfourc
        6
    dfourc  
       2020 年 11 月 18 日
    @tobecoder #5 setinteval(fn,0),或者 MutationObserver
    codespots
        7
    codespots  
       2020 年 11 月 18 日
    现在的小朋友已经不知道 DOM 操作了吗?
    GressJoe
        8
    GressJoe  
       2020 年 11 月 19 日
    select_title 是异步函数吧。。。
    Exceptionluo
        9
    Exceptionluo  
       2020 年 11 月 19 日
    检查下动态添加的 DOM 绑定的事件有没有生效
    NCry
        10
    NCry  
       2020 年 11 月 19 日
    为啥不是在第一个方法的回调里面写第二个方法,两个方法一定要同层的话,就只能像楼上说的一样加轮询了。
    jiangnan01
        11
    jiangnan01  
       2020 年 11 月 19 日
    DOMNodeInserted 监听了解一下,给 select_title 方法加载新 dom 元素的父级添加这个监听
    tobecoder
        12
    tobecoder  
    OP
       2020 年 11 月 21 日
    @galikeoy 谢谢老哥 ,延时久一点就可以了,很赣
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   966 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:03 · PVG 05:03 · LAX 13:03 · JFK 16:03
    ♥ Do have faith in what you're doing.