Wilson@思源

目 录

监控元素出现

js
function observeElementExist(selector, callback) { const handleMutations = (mutationsList, observer) => { for (let mutation of mutationsList) { if (mutation.type === 'childList') { mutation.addedNodes.forEach(node => { if (node.matches && node.matches(selector)) { callback(node); } else if (node && node.querySelector && node.querySelector(selector)) { callback(node.querySelector(selector)); } }); } } }; // 创建一个MutationObserver实例 const config = { attributes: false, childList: true, subtree: true }; const observer = new MutationObserver(handleMutations); // 选择需要监听的父节点 const targetNode = document.body; // 或者选择其他合适的父节点 // 开始监听目标节点的变化 observer.observe(targetNode, config); } // 使用示例 observeElementExist('div[data-type="search-item"]', (element) => { console.log('The DOM exist', element); // 在这里执行你需要的操作 });