gpt4 book ai didi

javascript - 在纯 Javascript 中查询元素的伪类

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:42:46 25 4
gpt4 key购买 nike

我知道我可以使用 JQuery(如 isHovered)检查一些伪类的状态,我知道我可以通过在其父节点上运行 querySelector (/querySelectorAll) 检查元素是否具有特定的伪类。

第一个对我来说完全没用,因为我不会使用 JQuery 并且 JQuery 没有 is我需要查询的伪类的方法。

第二个解决方案似乎很脏,我的意思是如果它是一个对象的属性(对象是 Dom 元素)我应该能够以一种直接的方式获得它,而不是通过在其父节点上运行 q 函数。如果我的元素没有父节点怎么办(您可能会质疑没有父节点的元素具有伪类的可能性。现在在浏览器中可能会也可能不会,但理论上是可能的,也许在虚拟中Dom,或者在浏览器的 future 实现中,idk。)。

我想要的是类似 element.hasPseudoClass("<the class>") 的东西或 element.getPseudoClasses()或任何其他方便的方式来查询元素的伪类。我没有找到直接的东西。

最佳答案

你可以使用

element.matches(':hover')

var box = document.getElementById("box");
var msg = document.getElementById("msg");

setInterval(() => msg.textContent = box.matches(':hover') ? "in" : "out", 1000);
<div id="box" style="width: 100px; height: 100px; background-color: red; "></div>
<div id="msg"></div>

参见 MDN documentation .

关于javascript - 在纯 Javascript 中查询元素的伪类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38195742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com