我想使用javascript删除里面带有<tr>
的{{1}}。 (请注意,我希望解决方案只是javascript,没有jquery)
HTML结构如下:
<span class="verfied-badge">
就我所能达到的目的而言:
<tr class="project-description">
<td colspan="6">
<div class="project-desc-inner">
<div class="project-synopsis">
<p class="trunk8">This is an entry</p>
</div>
<div class="project-verification">
<span class="verfied-badge"> <~~~~~~~~~~ THIS SPAN
<span class="currency-symbol">$</span>
<span class="icon-tick"></span>
Verified
</span>
</div>
<div class="project-actions">
<a href="#">
<button class="btn">LOL</button>
</a>
</div>
</div>
</td>
</tr>
我希望它能做的是,选择所有function showAlert()
{
document.querySelectorAll("tr.project-description").filter(document.getElementsByClassName("verfied-badge")).remove();
alert("Unwanted removed.");
}
,然后从拥有tr.project-description
的所有人中选择span.verfied-badge
,如果确实有,请删除整个tr
但是看起来,我一直都在失败:(
希望有人可以提供帮助。
谢谢!
答案 0 :(得分:1)
找到您关注的所有tr
元素,然后查看它们是否包含匹配的verified-badge
范围。如果他们这样做, burninate 删除它们。
window.addEventListener('load', function() {
var projectDescriptions = document.querySelectorAll('tr.project-description'),
projectDescriptions = Array.prototype.slice.call(projectDescriptions);
projectDescriptions.forEach(function(el) {
if (el.querySelector('span.verfied-badge')) {
el.parentNode.removeChild(el);
}
});
});
我在Array.prototype.slice
返回的NodeList
上致电querySelectorAll
因为querySelectorAll
没有返回数组而是NodeList
,这是JavaScript令人恼火的一个(但易于解决)“类似数组的对象”。