香草Javascript—如何使用querySelectorAll(';*';)循环DOM中的元素
香草Javascript—如何使用querySelectorAll(';*';)循环DOM中的元素,javascript,html,css,dom,addeventlistener,Javascript,Html,Css,Dom,Addeventlistener,var cancelBtn=document.querySelector(“.btn--cancel”); var acceptBtn=document.querySelector(“.btn--accept”); var thankYouPopup=document.querySelector(“.thankYouPopup”); var comeBackSoonPopup=document.querySelector(“.comeBackSoonPopup”); document.addEv
var cancelBtn=document.querySelector(“.btn--cancel”);
var acceptBtn=document.querySelector(“.btn--accept”);
var thankYouPopup=document.querySelector(“.thankYouPopup”);
var comeBackSoonPopup=document.querySelector(“.comeBackSoonPopup”);
document.addEventListener(
“点击”,
职能(e){
如果(
((e.target.className!==“btn btn--取消”||
e、 target.className!=“btn btn——接受”)&&
e、 target.className==“btn容器”)||
(e.target.className!==“谢谢弹出窗口”&&
e、 target.className==“谢谢容器”)||
(e.target.className!==“马上回来”&&
e、 target.className==“请尽快返回容器”)
) {
控制台日志(“foo”);
var els=document.queryselectoral(“*”);
for(设i=0;i
*{
框大小:边框框;
}
身体{
溢出x:隐藏;
}
主要{
高度:自动;
利润率最高:0%;
字体:1rem系统界面;
}
.谢谢你,
.快回来{
宽度:100%;
显示器:flex;
证明内容:柔性端;
}
.谢谢你,
.快回来{
文本对齐:居中;
填充:5%;
高度:38px;
背景:浅灰色;
边框:3px实心#bbb;
边界半径:4px;
宽度:50%;
显示器:flex;
证明内容:中心;
对齐项目:居中;
字号:3em;
文本阴影:0px 1px 0px;
位置:相对位置;
左:10000像素;
过渡属性:左;
过渡时间:1s;
}
p{
文本阴影:0px 1px 0px rgba(255,255,255,1);
}
.btn容器{
利润率:5%0;
显示器:flex;
证明内容:中心;
}
.btn{
显示:内联块;
利润率:0.1%;
高度:38px;
填充:0 30px;
线高:38px;
颜色:#ffffff;
文本对齐:居中;
字体大小:11px;
字号:600;
字母间距:0.1rem;
文本转换:大写;
文字装饰:无;
空白:nowrap;
背景色:透明;
边界半径:4px;
边框:1px实心#bbb;
光标:指针;
-o型过渡:背景色0.225s缓进;
过渡:背景色0.225s缓进;
}
.btn--取消{
背景色:#ff4136;
}
.btn--取消:悬停{
背景色:#e2392f;
}
.btn—接受{
背景:#01ff70;
}
.btn—接受:悬停{
背景色:#06da63;
}
谢谢大家!
取消
接受
快回来
这就是你想要的吗
var els = document.querySelectorAll("body *");
“它吐出每个可能的节点,即空格、css、脚本标记。”-脚本元素是元素,它只吐出元素(元素的表示形式当然包括其后代)。脚本标记、样式标记等都是节点-您不会得到“空格”虽然很抱歉,我想我没有优雅地问过如何在非空格的body标记之间获取DOM元素。这就是下面的答案,即document.body.querySelectorAll('*')