cxxjackie 发表于 2022-7-11 22:10:45

wwwwwllllk 发表于 2022-7-11 18:34
为什么哥哥对原生的api这么熟悉

这怎么回答。。。一定是因为道哥教的好!{:4_95:}{:4_95:}{:4_95:}

王一之 发表于 2022-7-11 23:46:26

擦 忘记限制成油猴脚本类型了

szzxc 发表于 2022-7-14 08:39:25

正碰到这个问题(元素加载比较慢),但是还是看不太懂实际用法。。

cxxjackie 发表于 2022-7-14 11:44:30

szzxc 发表于 2022-7-14 08:39
正碰到这个问题(元素加载比较慢),但是还是看不太懂实际用法。。

看不懂可能是对Promise不了解,querySelector会写吧?试试这个例子(selector同querySelector的参数):
```js
const elmGetter = new ElementGetter();
elmGetter.get(selector).then(elm => {
    console.log(elm);
});
```
如果需要获取多个元素:
```js
elmGetter.get([
    selector1,
    selector2,
    selector3
]).then(() => {
    console.log(elm1);
    console.log(elm2);
    console.log(elm3);
});
```
async/await的写法没有一定基础可能写不好。each的话文中的例子应该很充分了。

脚本体验师001 发表于 2022-7-17 16:39:56

脚本似流水,唯库恒久远
哥哥你比玉皇大帝还神

get(selector, parent, timeout)
get(selector, timeout, parent)
不知道把参数调换过来用行不行

cxxjackie 发表于 2022-7-17 20:45:00

脚本体验师001 发表于 2022-7-17 16:39
脚本似流水,唯库恒久远
哥哥你比玉皇大帝还神



目前不行,虽然可以实现,但好像没什么必要,我把注释都删了就是为了让代码短一点。

琦玉 发表于 2022-7-23 14:17:04

请问大佬页面有iframe,然后元素在iframe里,用each每次都会冒3次泡,想请教下大佬这时候parent 应该填什么

cxxjackie 发表于 2022-7-23 19:32:45

琦玉 发表于 2022-7-23 14:17
请问大佬页面有iframe,然后元素在iframe里,用each每次都会冒3次泡,想请教下大佬这时候parent 应该填什么 ...

iframe的话让你的脚本直接match那个iframe的地址,效果会更好,parent用document就行。如果iframe非跨域,而你又确实想在顶层操作iframe内的元素,可以先用get或querySelector取得iframe元素,然后parent填iframe.contentDocument。
https://developer.mozilla.org/en-US/docs/Web/API/HTMLIFrameElement/contentDocument

琦玉 发表于 2022-7-23 21:03:03

请问大佬,each不能传选择器数组吗?我试了不行,如果要找数个元素的话,是不是要建几个each呢?

cxxjackie 发表于 2022-7-23 21:57:59

琦玉 发表于 2022-7-23 21:03
请问大佬,each不能传选择器数组吗?我试了不行,如果要找数个元素的话,是不是要建几个each呢? ...

是的,get的选择器数组是用于管理监听器的,传数组可以将多个监听器合并为一个,而each的监听器由你自己管理(remove移除)。each可以同时建多个来处理不同逻辑,如果是想用同一个回调函数来应对多个选择器,你应该考虑用逗号将选择器合并,参考这里:
https://bbs.tampermonkey.net.cn/thread-1821-1-1.html
页: 1 [2] 3 4 5 6 7 8 9 10 11
查看完整版本: 异步获取元素的脚本库 ElementGetter