【问题标题】:Get all DOM-Elements on youtube.com在 youtube.com 上获取所有 DOM 元素
【发布时间】:2018-06-26 10:07:00
【问题描述】:

我在 youtube 网站(趋势页面)上玩 JS。

我正在尝试做的事情: 将类“ytd-expanded-shelf-contents-renderer”的所有元素“ytd-video-renderer”写入变量xyz。

我的代码:

var xyz = $("ytd-video-renderer.ytd-expanded-shelf-contents-renderer")

不幸的是,这是我的控制台输出:

<ytd-video-renderer class="style-scope ytd-expanded-shelf-contents-renderer">

我只从该站点获得第一个元素。如果我只使用香草 JS

var xyz = document.querySelectorAll("ytd-video-renderer.ytd-expanded-shelf-contents-renderer")

我将获取数组中的所有元素。 - 很好..

但我想使用 jQuery,因为我需要“扫描”这个数组中的每个元素以查找某个子节点,如果我使用 querySelectorAll,find() 将不起作用。

顺便说一句:我在 Chrome 和 Firefox 中使用控制台。

【问题讨论】:

  • 你在console.log(xyz.length)987654325@时在控制台看到了什么
  • $ 在这里不是 jQuery。这是控制台中的alias for document.querySelector。使用$$
  • 只有“未定义”。
  • var ytdExpSCR = Array.from(document.getElementById("grid-container").querySelectorAll(".ytd-expanded-shelf-contents-renderer"));
  • 是的@Xufox 是对的。只需添加 ..$$document.querySelectorAll() 的别名,因此您可以获得一个数组。

标签: javascript jquery html youtube


【解决方案1】:

由于我正在使用 chrome 和 firefox 的开发工具控制台,$document.querySelector 的别名。 我需要将$ 更改为$$。 现在它正在工作。 感谢@Xufox 的帮助!

这是@Xufox 的评论:

$ 在这里不是 jQuery。它是控制台中 document.querySelector 的别名。使用 $$

【讨论】:

    猜你喜欢
    • 2018-12-20
    • 1970-01-01
    • 1970-01-01
    • 2022-12-05
    • 2010-12-17
    • 2020-07-22
    • 2011-07-04
    • 2011-10-19
    • 1970-01-01
    相关资源
    最近更新 更多