longsiyu 发表于 2021-12-11 18:02:26

请教一下其中a元素该怎么选择?


请教一下其中a元素该怎么选?我只能选到它的父级<div class="htit">

Hangover 发表于 2021-12-11 18:02:27

longsiyu 发表于 2021-12-11 21:03
控制台可以选出来呀,用到油猴里面就undefined

    var a = document.querySelectorAll('.htit a');


[[油猴脚本开发指南]基本油猴编程的一些常见误区-油猴中文网](https://bbs.tampermonkey.net.cn/thread-835-1-1.html)

试试用setinterval循环判断

Hangover 发表于 2021-12-11 18:58:32

document.querySelector('.htit a')

longsiyu 发表于 2021-12-11 20:27:19

Hangover 发表于 2021-12-11 18:58
document.querySelector('.htit a')

那再请问一下,我在浏览器控制台可以选出来,为什么用在油猴脚本里面控制台显示的null?

Hangover 发表于 2021-12-11 20:40:50

本帖最后由 Hangover 于 2021-12-11 20:41 编辑

longsiyu 发表于 2021-12-11 20:27
那再请问一下,我在浏览器控制台可以选出来,为什么用在油猴脚本里面控制台显示的null? ...
看看是不是多个相同class贴代码跟网址看看

longsiyu 发表于 2021-12-11 20:49:36

Hangover 发表于 2021-12-11 20:40
看看是不是多个相同class贴代码跟网址看看

https://cg.95306.cn/baseinfor/notice/toBuyNoticeMore?bidType=01&noticeType=01&transactionType=01&navigation=c&wzType=&title=

项目公告名称那个链接

Hangover 发表于 2021-12-11 20:56:35

本帖最后由 Hangover 于 2021-12-11 21:02 编辑

可以看到有多个相同的class 可以用document.querySelectorAll('.htit a')选中其中一个


querySelectorAll跟querySelector的区别是:querySelector只能返回文档中匹配的一个元素,而querySelectorAll能返回匹配的所有元素

longsiyu 发表于 2021-12-11 21:03:11

Hangover 发表于 2021-12-11 20:56
可以看到有多个相同的class 可以用document.querySelectorAll('.htit a')选中其中一个




控制台可以选出来呀,用到油猴里面就undefined

    var a = document.querySelectorAll('.htit a');
    console.log(a);

控制台undefined

Hangover 发表于 2021-12-11 21:23:41

本帖最后由 Hangover 于 2021-12-11 21:29 编辑

longsiyu 发表于 2021-12-11 21:03
控制台可以选出来呀,用到油猴里面就undefined

    var a = document.querySelectorAll('.htit a');

var myVar = setInterval(function () {
      var a = document.querySelectorAll('.htit a')[0];
      console.log(a);
      clearInterval(myVar); //销毁定时器
    }, 3000);



我测试控制台能打印出来结果

longsiyu 发表于 2021-12-11 21:59:01

Hangover 发表于 2021-12-11 21:23
var myVar = setInterval(function () {
      var a = document.querySelectorAll('.htit a');
   ...

搞定了,谢谢
页: [1]
查看完整版本: 请教一下其中a元素该怎么选择?