能否为JavaScript变量添加伪类?.modal button选择器是否有效?
问题解答
1. 能不能给获取到的DOM变量加伪类?
不行。伪类(像:hover、:active这类)是CSS层面的选择规则,不属于DOM元素的可操作属性或方法。你用var modal = document.querySelector(".modal")拿到的是页面上的DOM元素对象,没法直接给这个变量绑定伪类。如果要实现类似伪类的样式效果,要么直接在CSS里写.modal:hover { /* 样式代码 */ }让浏览器自动处理状态变化,要么用JS监听元素的mouseover、click这类事件,动态给元素加/移除class,再配合CSS写对应样式。
2. querySelector(".modal button")的选择器能用吗?
完全可以。querySelector支持所有标准的CSS选择器语法,.modal button是后代选择器,能精准匹配嵌套在.modal元素里的<button>元素,最终返回页面中第一个符合这个规则的元素。要是想拿到所有匹配的按钮,换成querySelectorAll(".modal button")就行。
内容的提问来源于stack exchange,提问作者Anthony David
相关产品推荐
相关产品推荐

