首页 > 解决方案 > 如何获取页面上除div之外的所有元素

问题描述

所以我试图将一些css应用于页面上的每个元素,但我不希望css应用于div。我目前正在使用document.getElementsByTagName("*")来选择每个元素,但据我所知,无论如何都没有过滤掉某种元素类型。我想我找到了一些我想要的代码,但它使用的是 jQuery,我不想在这个项目中使用它。有人知道怎么做吗?

标签: javascriptwebdomgoogle-chrome-extensionbrowser

解决方案


您可以使用下面的选择器来选择所有不是的子元素bodydiv

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>


推荐阅读