吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 584|回复: 14
收起左侧

[求助] 调用函数无法立即执行

[复制链接]
探索1979 发表于 2023-11-9 13:48
本帖最后由 探索1979 于 2023-11-9 17:40 编辑

在myFunction()中调用monitorDomChange()没法立即执行到该函数体中,而是for完之

后再执行到该函数体中,请问如何解决
function myFunction() {
  $(document).ready(function(){
    // 获取指定 ID 的元素
    const parentElement = document.getElementById('treeDemo');
    // 获取所有子元素
    const childElements = parentElement.children;
    // 遍历所有子元素
    for (let i = 0; i < childElements.length; i++) {
      // 判断当前元素是否为 li 标签
       if (childElements.tagName === 'LI') {//为什么不显示方括号,方括号里面有个i
        // 获取 li 标签的 ID 并赋值给 document.getElementById()
        const id = childElements.id;//为什么不显示方括号,方括号里面有个i
        // 在这里可以执行你需要的操作,例如打印 ID 或其他操作
        console.log(`Element with ID ${id+"_span"} found.`);
        const targetElement = document.getElementById(id + "_span");
        console.log(targetElement);
        // 模拟点击事件
        if (targetElement) {
          const event = new MouseEvent('click', {
            bubbles: true,
            cancelable: true,
            view: unsafeWindow,
            interval: 5000 // Use the interval parameter here.
          });
          debugger;
          setTimeout(() => {
            monitorDomChange();
          }, 0);
          targetElement.dispatchEvent(event);
        } else {
          console.log('目标 ul 元素不存在!');
        }
      }
    }
  });
}

function monitorDomChange() {
  // 你的代码在这里,例如:
}

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

sai609 发表于 2023-11-9 13:55
import库,def函数,正文代码
 楼主| 探索1979 发表于 2023-11-9 14:55
sai609 发表于 2023-11-9 13:55
import库,def函数,正文代码

大佬什么意思 求解  这个是油猴插件
我今天是大佬 发表于 2023-11-9 16:07
 楼主| 探索1979 发表于 2023-11-9 16:53
我今天是大佬 发表于 2023-11-9 16:07
建议格式化代码后再来

已经格式化好,请大佬指导
ciker_li 发表于 2023-11-9 16:59
for (let i = 0; i < childElements.length; i++) {
      // 判断当前元素是否为 li 标签
      if (childElements.tagName === 'LI') {
        // 获取 li 标签的 ID 并赋值给 document.getElementById()
        const id = childElements.id;
        // 在这里可以执行你需要的操作,例如打印 ID 或其他操作
        console.log(`Element with ID ${id+"_span"} found.`);
        const targetElement = document.getElementById(id + "_span");
        console.log(targetElement);
        // 模拟点击事件
        if (targetElement) {
          const event = new MouseEvent('click', {
            bubbles: true,
            cancelable: true,
            view: unsafeWindow,
            interval: 5000 // Use the interval parameter here.
          });
          debugger;
          setTimeout(() => {
            monitorDomChange();
          }, 0);
          targetElement.dispatchEvent(event);
        } else {
          console.log('目标 ul 元素不存在!');
        }
      }
}

for循环是i在变化,但是循环体内又没有用到i,所以应该是直接跳出for循环了
 楼主| 探索1979 发表于 2023-11-9 17:22
ciker_li 发表于 2023-11-9 16:59
for (let i = 0; i < childElements.length; i++) {
      // 判断当前元素是否为 li 标签
      if (chi ...

i 根据childElements.length这个循环
ciker_li 发表于 2023-11-9 18:01
探索1979 发表于 2023-11-9 17:22
i 根据childElements.length这个循环

for循环里哪里用到i了?
 楼主| 探索1979 发表于 2023-11-9 19:00
ciker_li 发表于 2023-11-9 18:01
for循环里哪里用到i了?

       if (childElements.tagName === 'LI') {//为什么不显示方括号,方括号里面有个i
        // 获取 li 标签的 ID 并赋值给 document.getElementById()
        const id = childElements.id;//为什么不显示方括号,方括号里面有个i
sgvvvv 发表于 2023-11-9 22:32
没懂LZ是想要实现什么效果
monitorDomChange为什么要放在setTimeout里面
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 17:36

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表