javascript - 如何获取页面上除div之外的所有元素
问题描述
所以我试图将一些css应用于页面上的每个元素,但我不希望css应用于div。我目前正在使用document.getElementsByTagName("*")
来选择每个元素,但据我所知,无论如何都没有过滤掉某种元素类型。我想我找到了一些我想要的代码,但它使用的是 jQuery,我不想在这个项目中使用它。有人知道怎么做吗?
解决方案
您可以使用下面的选择器来选择所有不是的子元素body
div
body *:not(div)
或者
body :not(div)
const allExceptDiv = document.querySelectorAll("body *:not(div)");
allExceptDiv.forEach(el => el.classList.add("highlight"))
.highlight {
background: yellowgreen;
}
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
<div>This is div</div>
<p> This is para </p>
推荐阅读
- c# - 如何在 ASP.NET MVC 中使用表单上传图像
- audio - 如何使用 ffmpeg 从 5.1 视频中获取分离的音频通道?
- hyperledger-composer - 尝试调用业务网络时出错。要求未定义
- json - NodeJS websocket访问第二层JSON数据
- node.js - 在 React 应用程序中显示来自 Gridfs 存储的视频
- angular - Angular 7 如何使用新的@aiStore
- ios - 如何一次只允许触摸一个 UIImageView
- reactjs - 如何将默认反应(CRA)更新为 webpack4 和 babel7?
- javascript - 单选框不调用 Javascript 函数
- c++ - 如何在 C++ 中将 boost 用于贝塞尔函数