如何在没有 ID 选择器的情况下删除元素的 class - 使用 vanilla JavaScript(没有 jquery)?

How can I remove an element's class without ID selector - with vanilla JavaScript (no jquery)?

首先我要说我想在 "tampermonkey";
中使用这段代码 有这样一段代码:

<div class="tab-pane fade show active" id="tab-content-download" role="tabpanel" aria-labelledby="tab-download">
   <div class="d-none d-js-block">
       <p>...some text...</p>
   </div>
</div>

(我还必须提一下,我在这个站点中禁用了 Chrome Javascript。)
1. chrome javascript 禁用时是否可以使用tampermonkey?

2.How 我可以只删除“d-none”class吗?

你可以通过class找到所有元素,select第一个(在这个例子中),去他的父级并删除你找到的元素

注意:getElementsByClassName returns 一个元素数组,即使只找到 1 个元素。

var el = document.getElementsByClassName("d-none")[0];
el.parentElement.remove(el);
<div class="tab-pane fade show active" id="tab-content-download" role="tabpanel" aria-labelledby="tab-download">
   <div class="d-none d-js-block">
       <p>...some text...</p>
   </div>
</div>

如果要删除 class 而不是元素:

var el = document.getElementsByClassName("d-none")[0];
el.classList.remove("d-none");
<div class="tab-pane fade show active" id="tab-content-download" role="tabpanel" aria-labelledby="tab-download">
   <div class="d-none d-js-block">
       <p>...some text...</p>
   </div>
</div>

  • getElementsByClassName 找到 class 的第一个实例。
  • 使用 DOM 元素删除元素 classList

document.getElementsByClassName("d-none")[0].classList.remove("d-none");
<div class="tab-pane fade show active" id="tab-content-download" role="tabpanel" aria-labelledby="tab-download">
  <div class="d-none d-js-block">
    <p>...some text...</p>
  </div>
</div>