问题描述
您知道这些天我们正在使用CSS modules或类似class和id的遮瑕膏。但是这一次我必须使用JS选择器选择那些元素。 但我无法处理。
我在这里有个例子。您可以在此处看到 youtube 主屏幕。我想选择“订阅” 侧边栏按钮。我想我必须使用document.getElementByValue("Subscription")
之类的“订阅”文本值,您对此有何看法。是否存在类似的东西?
如何与JS选择器一起使用?
我在研究时发现的来源:
- https://css-tricks.com/css-modules-part-1-need/
- https://usefulangle.com/post/83/html-select-common-operations-with-javascript
解决方法
在屏幕上突出显示的屏幕快照元素在类中并不是唯一的。 例如,您可以选择具有此类的所有元素,然后在包含文本Subscription的循环中查找。 下面的代码找到周围的元素,并在其中延伸。
document.querySelector("[aria-label='Subscriptions'] span")
,
尝试此操作,您可以在跨度
附近找到标题作为订阅var obj = document.querySelector("title='Subscriptions'] span.title");
console.log(obj.value)
,
好的,我解决了我的问题。非常感谢您帮助我@Alexander Smirnov。
您可以同时使用两个选择器。我从问题.parentNode
的概念中学到了,对我很有帮助。
document.getElementsByClassName('style-scope ytd-mini-guide-renderer')[3]
或
document.querySelector("[aria-label='Subscriptions'] span").parentNode