【发布时间】:2022-01-03 15:51:17
【问题描述】:
我正在尝试使用带有 vanilla JS 的 InnerText 查找和删除一个元素。不能使用 jQuery,或者编辑现有的网站代码,即使它会简单得多。 “新”注入的代码必须处理这项工作。
因为 div 类不是唯一的,而且顺序也不总是一致的,所以我需要一种方法来钩入元素并用 JS 将其删除。删除元素的代码将通过 AB 测试工具(即 Optimizely)部署在标头中。我可以删除类名为“rate-card”的元素,但我只想删除标题中显示“Clean Care”的元素。
这是我要识别和删除的网站代码。
<div class="collapse d-md-block" id="ItemRates-1">
<div class="rate-card">
<div class="rate-card-title">
<strong>Best Rate</strong>
<button type="button" class="btn-plain tooltip" data-toggle="modal" data-target="#PK1" data-original-title="" title="">
</button>
</div>
</div>
<div class="rate-card">
<div class="rate-card-title">
<strong>Clean Care</strong>
<button type="button" class="btn-plain tooltip" data-toggle="modal" data-target="#PK2" data-original-title="" title="">
</button>
</div>
</div>
</div>
这是我到目前为止的代码。能够删除类名为“rate-card”的元素,但我只想删除标题为“Clean Care”的元素。元素的顺序并不总是相同的,所以使用子顺序语句来挂钩元素是不可能的。
<script>
const elem= document.getElementsByClassName("rate-card")
while (elem.length > 0 )
elem[0].remove();
</script>
【问题讨论】:
-
所以你将不得不寻找其中的元素并检查文本
标签: javascript element classname innertext